From 13255497c5dad3c2f2e8fe9671823923a8cbdae8 Mon Sep 17 00:00:00 2001 From: Minstel Date: Sun, 2 Dec 2018 22:13:44 +0700 Subject: [PATCH] Fix parseNumber in case of 3 numbers after decimal dot --- js/lib/parse-number.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/js/lib/parse-number.js b/js/lib/parse-number.js index 4f45efe..1c8d145 100644 --- a/js/lib/parse-number.js +++ b/js/lib/parse-number.js @@ -3,7 +3,7 @@ if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') { module.exports = parseNumber; } -var numberRegexp = new RegExp('^(?:((?:\\d{1,3}(?:\\.\\d{3})+|\\d+)(?:,\\d{1,})?)|((?:\\d{1,3}(?:,\\d{3})+|\\d+)(?:\\.\\d{1,})?))$'); +var numberRegexp = new RegExp('^(?:((?:\\d{1,3}(?:\\.\\d{3})+|\\d+)(,\\d{1,})?)|((?:\\d{1,3}(?:,\\d{3})+|\\d+)(\\.\\d{1,})?))$'); var dotRegexp = /\./g; var commaRegexp = /,/g; @@ -23,7 +23,9 @@ function parseNumber(number) { var match = number.match(numberRegexp); if (!match) return null; - var isDecimalComma = typeof match[1] !== 'undefined'; + var isDecimalComma = + typeof match[2] !== 'undefined' || + (typeof match[3] !== 'undefined' && typeof match[4] === 'undefined'); number = isDecimalComma ? number.replace(dotRegexp, '').replace(',', '.') :