From 5282c63ec3e4f288f3837983df0a772c786c3023 Mon Sep 17 00:00:00 2001 From: msrocka Date: Mon, 25 Aug 2014 13:29:22 +0200 Subject: [PATCH] fix #570: getDecimalPlaces throws error --- src/Chart.Core.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/Chart.Core.js b/src/Chart.Core.js index 03b99b45a..32fcdeee4 100755 --- a/src/Chart.Core.js +++ b/src/Chart.Core.js @@ -306,7 +306,20 @@ }, getDecimalPlaces = helpers.getDecimalPlaces = function(num){ if (num%1!==0 && isNumber(num)){ - return num.toString().split(".")[1].length; + var s = num.toString(); + if(s.indexOf("e-") < 0){ + // no exponent, e.g. 0.01 + return s.split(".")[1].length; + } + else if(s.indexOf(".") < 0) { + // no decimal point, e.g. 1e-9 + return parseInt(s.split("e-")[1]); + } + else { + // exponent and decimal point, e.g. 1.23e-9 + var parts = s.split(".")[1].split("e-"); + return parts[0].length + parseInt(parts[1]); + } } else { return 0;