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); }