From 254fb60481edeeed579d06bc982d328e72cf674e Mon Sep 17 00:00:00 2001 From: mfallihee <32306654+mfallihee@users.noreply.github.com> Date: Mon, 10 Aug 2020 10:47:14 -0700 Subject: [PATCH] Use toLocaleString to count decimal places consistently (#4124) --- core/field_number.js | 2 +- tests/mocha/field_number_test.js | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/core/field_number.js b/core/field_number.js index 061995348..e052ff36f 100644 --- a/core/field_number.js +++ b/core/field_number.js @@ -231,7 +231,7 @@ Blockly.FieldNumber.prototype.setPrecisionInternal_ = function(precision) { } } - var precisionString = this.precision_.toString(); + var precisionString = this.precision_.toLocaleString("en-US", {maximumFractionDigits: 20}); var decimalIndex = precisionString.indexOf('.'); if (decimalIndex == -1) { // If the precision is 0 (float) allow any number of decimals, diff --git a/tests/mocha/field_number_test.js b/tests/mocha/field_number_test.js index da85a2cbb..b12cae656 100644 --- a/tests/mocha/field_number_test.js +++ b/tests/mocha/field_number_test.js @@ -112,9 +112,8 @@ suite('Number Fields', function() { {title: 'Float', json: {}, value: 123.456, expectedValue: 123.456}, {title: '0.01', json: {precision: .01}, value: 123.456, expectedValue: 123.46}, - // TODO(#4105): Un-skip after fixing bug. {title: '1e-7', json: {precision: .0000001}, value: 123.00000456, - expectedValue: 123.0000046, skip: true}, + expectedValue: 123.0000046}, {title: '0.5', json: {precision: .5}, value: 123.456, expectedValue: 123.5}, {title: '1', json: {precision: 1}, value: 123.456,