Kleiner Anpassungen / Aktualisierung Dokumentation

This commit is contained in:
2026-08-11 18:51:59 +02:00
parent da688bb294
commit 1d295796b4
15 changed files with 1948 additions and 1421 deletions

View File

@@ -70,7 +70,14 @@ export function parseCents(text) {
}
export function parseQuantity(text) {
const cleaned = String(text).trim().replace(",", ".");
// Leerzeichen und Tausenderpunkte entfernen, Komma als Dezimaltrenner.
// Die Punkte fallen weg, weil eine Eingabe wie "1.500" im Deutschen
// eintausendfünfhundert meint - und weil formatQuantity keine
// Tausendertrennung mehr erzeugt, bleibt kein anderer Fall übrig.
const cleaned = String(text)
.trim()
.replace(/[\s\u00a0.]/g, "")
.replace(",", ".");
if (!cleaned) return null;
const value = Number(cleaned);
return Number.isFinite(value) && value >= 0 ? value : null;
@@ -100,5 +107,13 @@ export function formatQuantity(value) {
if (value === null || value === undefined) return "";
const num = Number(value);
if (!Number.isFinite(num)) return String(value);
return num.toLocaleString("de-DE", { maximumFractionDigits: 3 });
// OHNE Tausendertrennung. Der Wert landet auch in Eingabefeldern, und
// parseQuantity liest den deutschen Tausenderpunkt als Dezimalpunkt:
// Aus einer 1000-Gramm-Packung wurde beim Bearbeiten eine mit 1 Gramm.
// Bei Mengen bringt die Trennung ohnehin wenig - "1000 g" liest sich
// gut genug.
return num.toLocaleString("de-DE", {
maximumFractionDigits: 3,
useGrouping: false,
});
}