Jaki jest symbol separatora dziesiętnego w JavaScript?
Zastanawiała mnie myśl, kiedy pisałem fragment kodu JavaScript, który przetwarzał niektóre wartości zmiennoprzecinkowe. Jaki jest symbol przecinka dziesiętnego w JavaScript? Czy zawsze.
? Czy jest to specyficzne dla kultury? A co z.toFixed()
i.parseFloat()
? Jeśli przetwarzam dane wejściowe użytkownika, najprawdopodobniej będzie zawierał symbol separatora dziesiętnego specyficzny dla lokalnej kultury.
Ostatecznie chciałbym napisać kod, który obsługuje oba punkty dziesiętne w danych wejściowych użytkownika - specyficzne dla kultury i.
, ale nie mogę napisać takiego kodu, jeśli nie wiem, czego oczekuje JavaScript.
Dodany: OK, Rubens Fariaswskazuje patrzeć napodobne pytanie która ma zgrabną akceptowaną odpowiedź:
function whatDecimalSeparator() {
var n = 1.1;
n = n.toLocaleString().substring(1, 2);
return n;
}
To miło, pozwala mi uzyskać punkt dziesiętny dla ustawień regionalnych. Bez wątpienia krok w kierunku rozwiązania.
Pozostała część polega na określeniu zachowania.parseFloat()
jest. Kilka odpowiedzi wskazuje, że tylko dla literałów zmiennoprzecinkowych.
jest ważny. Robi.parseFloat()
działać w ten sam sposób? Czy może wymagać lokalnego separatora dziesiętnego w jakiejś przeglądarce? Czy istnieją również inne metody analizowania liczb zmiennoprzecinkowych? Czy powinienem wdrożyć własne, tylko na pewno?