Мне показалось, что я написал фрагмент кода JavaScript, который обрабатывал некоторые значения с плавающей запятой. Что такое символ десятичной точки в JavaScript? Всегда ли это .? Или это зависит от культуры? А как насчет .toFixed() и .parseFloat()? Если я обрабатываю пользовательский ввод, он, вероятно, будет включать в себя локальный символ разделителя десятичных разделителей.
В конечном счете, я хотел бы написать код, который поддерживает как десятичные точки в пользовательском вводе - специфичные для культуры, так и ., но я не могу написать такой код, если не знаю, чего ожидает JavaScript.
Добавлено: ОК, Rubens Farias предлагает посмотреть аналогичный вопрос который имеет аккуратный принятый ответ:
function whatDecimalSeparator() {
var n = 1.1;
n = n.toLocaleString().substring(1, 2);
return n;
}
Хорошо, это позволяет мне получить десятичную точку локали. Шаг к решению, несомненно.
Теперь оставшаяся часть должна определить, что такое поведение .parseFloat(). В нескольких ответах указывается, что для литералов с плавающей запятой действует только .. Действует ли .parseFloat() так же? Или может потребоваться локальный десятичный разделитель в каком-то браузере? Существуют ли разные методы для разбора чисел с плавающей запятой? Должен ли я разворачивать свой собственный, чтобы быть уверенным?