Ich habe versucht, eine Zahl zu konvertieren sagen 123456.789
nach Indien Locale Format wiz 1,23,456.789
wie Indien Tausende/Lakh/Crore Separatoren verwendet.Konvertieren von Nummer in Indien Locale Format
Ich war erfolgreich in der Lage, dies mit einigen 10-20 Zeilen Code zu tun, und dann kam ich zu diesem Artikel von MDN.
Sie sehen die Linie 11, sie einen Mechanismus dort erklärt haben, es zu konvertieren
// India uses thousands/lakh/crore separators
console.log(number.toLocaleString('en-IN'));
// → 1,23,456.789
Aber es funktioniert nicht (getestet in Chrome v49.0.2623 und Safari)
Output in safari:
123456.789
Output in chrome:
123,456.789
Aber es funktionierte in Firefox
Output in Firefox:
1,23,456.789
Aber wenn ich die Browser-Kompatibilität Tabelle gelesen wurde festgestellt, dass es + in Chrom v24 unterstützt wird
Ist es ein Fehler, oder bin ich etwas falsch gemacht?
var number = 123456.789
console.log(number.toLocaleString('en-IN'));
Die Unterstützung der Methode ist nicht das Gleiche wie die Unterstützung jedes einzelnen Gebietsschemas und der zugehörigen Formatierungsregeln. Es ist durchaus möglich, dass es sich um einen "Bug" in Chrome und Safari handelt, bei dem es keine indienspezifischen Formatierungsregeln für Zahlen gibt. Daher wird auf den Standardwert zurückgegriffen. –
Ich denke, es kann nur der Eingang "en-IN" sein. Eine Eingabe von "hi" (Hindi) in Chrome gibt "1,23,456.789" wie erwartet zurück. –