From 16bed68b907b0f4b18f0d9520cf047cc4fe01973 Mon Sep 17 00:00:00 2001 From: Donkie Date: Sat, 12 Aug 2023 20:19:18 +0200 Subject: [PATCH] Client: Improved form number parser --- client/src/utils/parsing.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/client/src/utils/parsing.ts b/client/src/utils/parsing.ts index 452a77f..965c817 100644 --- a/client/src/utils/parsing.ts +++ b/client/src/utils/parsing.ts @@ -6,5 +6,15 @@ export function numberFormatter(value: number | undefined) { // Number parser that supports both comma and dot as decimal separator export function numberParser(value: string | undefined) { - return Number(value?.replace(",", ".") ?? 0); + // Convert comma to dot + const decimalSeparator = (1.1).toLocaleString().charAt(1); + if (decimalSeparator === ",") { + value = value?.replace(",", "."); + } + + // Remove all non-digit characters + value = value?.replace(/[^\d.-]/g, ""); + + // Parse as float + return parseFloat(value || "0"); }