mirror of
https://github.com/Since-3/since3-portal.git
synced 2026-10-12 20:51:17 +00:00
11 lines
561 B
TypeScript
11 lines
561 B
TypeScript
// Deutsches Format mit Tausenderpunkten ("1.000", "1.234,50") oder schlicht ("12,5", "12.50").
|
|
// Mehrdeutiges wie "1.5,00" oder mehr als 2 Nachkommastellen ergibt NaN statt still falsch zu rechnen.
|
|
const GROUPED = /^\d{1,3}(\.\d{3})*(,\d{1,2})?$/;
|
|
const PLAIN = /^\d+([.,]\d{1,2})?$/;
|
|
|
|
export function parseDecimalInput(value: string) {
|
|
const trimmed = value.trim();
|
|
if (GROUPED.test(trimmed)) return Number(trimmed.replace(/\./g, "").replace(",", "."));
|
|
if (PLAIN.test(trimmed)) return Number(trimmed.replace(",", "."));
|
|
return Number.NaN;
|
|
}
|