This is an automated email from the ASF dual-hosted git repository. ovilia pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-echarts.git
commit c78934837c088754362a448210e0ca26f24b4deb Author: Ovilia <[email protected]> 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: [email protected] For additional commands, e-mail: [email protected]
