Raketenwilli: toLocaleString() Nachkommastellen nicht runden

Beitrag lesen

problematische Seite

11.3.3

Intl.NumberFormat.prototype.resolvedOptions ()

This function provides access to the locale and formatting options computed during initialization of the object.

The function returns a new object whose properties and attributes are set as if constructed by an object literal assigning to each of the following properties the value of the corresponding internal property of this NumberFormat object (see 11.4): locale, numberingSystem, style, currency, currencyDisplay, minimumIntegerDigits, minimumFractionDigits, maximumFractionDigits, minimumSignificantDigits, maximumSignificantDigits, and useGrouping. Properties whose corresponding internal properties are not present are not assigned.

Wenn das die Optionen sind, die empfangen und gefunden werden, dann sollte man die auch setzen können.

  • Meine erste Idee wäre aber, NumberFormat() auf eine VORHER nach Deinen Regeln gerundete Zahl b anzuwenden und diese Methode nur unmittelbar für die Ausgabe zu benutzen. z.B.
o.innerHTML=b.toLocaleString(
    'de-DE',
    { 
       style:    'currency',
       currency: 'EUR'
    }
);

Und was die Sache mit den letzten beiden Stelle betrifft: Du hast ja zunächst einen String. Willst Du wissen, wie man fest stellt, dass die letzten beiden Zeichen jeweils eine 5 sind? Jedenfalls dürfte toLocaleString() Deine sehr speziellen „Rundungs“-regeln eher nicht erkennen können. Also VORHER selbst „runden“. Bau Dir dazu eine Funktion.