From 4de9b614dcaebeccc3cd78b4561548dc76f95495 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Sun, 19 Nov 2017 12:27:26 +0200 Subject: [PATCH] number format isn't localized #437 --- app/Libraries/Utils.php | 5 +++++ resources/views/money_script.blade.php | 14 ++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/Libraries/Utils.php b/app/Libraries/Utils.php index b0468d9f836d..10173e56ab78 100644 --- a/app/Libraries/Utils.php +++ b/app/Libraries/Utils.php @@ -459,6 +459,11 @@ class Utils public static function parseFloat($value) { + // check for comma as decimal separator + if (preg_match('/,[\d]{1,2}$/', $value)) { + $value = str_replace(',', '.', $value); + } + $value = preg_replace('/[^0-9\.\-]/', '', $value); return floatval($value); diff --git a/resources/views/money_script.blade.php b/resources/views/money_script.blade.php index 437079bb0c46..f51441b28220 100644 --- a/resources/views/money_script.blade.php +++ b/resources/views/money_script.blade.php @@ -27,8 +27,18 @@ @endif NINJA.parseFloat = function(str) { - if (!str) return ''; - str = (str+'').replace(/[^0-9\.\-]/g, ''); + if (! str) { + return ''; + } else { + str = str + ''; + } + + // check for comma as decimal separator + if (str.match(/,[\d]{1,2}$/)) { + str = str.replace(',', '.'); + } + + str = str.replace(/[^0-9\.\-]/g, ''); return window.parseFloat(str); }