You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@echarts.apache.org by ov...@apache.org on 2019/10/25 06:10:54 UTC

[incubator-echarts] 01/01: fix: quantityExponent #11249

This is an automated email from the ASF dual-hosted git repository.

ovilia pushed a commit to branch fix-11249
in repository https://gitbox.apache.org/repos/asf/incubator-echarts.git

commit c12ee2b2b520a728670724692eb6c47063d4bfb0
Author: Ovilia <zw...@gmail.com>
AuthorDate: Fri Oct 25 14:10:04 2019 +0800

    fix: quantityExponent #11249
---
 src/util/number.js          | 10 +++++++++-
 test/ut/spec/util/number.js |  2 ++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/util/number.js b/src/util/number.js
index 106fc4f..aecd858 100644
--- a/src/util/number.js
+++ b/src/util/number.js
@@ -394,7 +394,15 @@ export function quantity(val) {
  * @return {number}
  */
 export function quantityExponent(val) {
-    return val > 0 ? Math.floor(Math.log(val) / Math.LN10) : 0;
+    if (val === 0) {
+        return 0;
+    }
+
+    var exp = Math.floor(Math.log(val) / Math.LN10);
+    if (val / Math.pow(10, exp) >= 10) {
+        exp++;
+    }
+    return exp;
 }
 
 /**
diff --git a/test/ut/spec/util/number.js b/test/ut/spec/util/number.js
index 154152e..f185c5b 100755
--- a/test/ut/spec/util/number.js
+++ b/test/ut/spec/util/number.js
@@ -401,6 +401,7 @@ describe('util/number', function () {
             expect(numberUtil.quantityExponent(1234)).toEqual(3);
             expect(numberUtil.quantityExponent(1234.5678)).toEqual(3);
             expect(numberUtil.quantityExponent(10)).toEqual(1);
+            expect(numberUtil.quantityExponent(1000)).toEqual(3);
             expect(numberUtil.quantityExponent(10000)).toEqual(4);
         });
 
@@ -429,6 +430,7 @@ describe('util/number', function () {
             expect(numberUtil.quantity(1234)).toEqual(1000);
             expect(numberUtil.quantity(1234.5678)).toEqual(1000);
             expect(numberUtil.quantity(10)).toEqual(10);
+            expect(numberUtil.quantity(1000)).toEqual(1000);
             expect(numberUtil.quantity(10000)).toEqual(10000);
         });
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org