当我写一段JavaScript代码处理一些浮点值时,一个想法让我感到震惊。 JavaScript中的小数点符号是什么?它总是.
?或者是文化特定的?那么.toFixed()
和.parseFloat()
呢?如果我正在处理用户输入,它可能会包含本地文化特定的小数点分隔符。什么是JavaScript中的小数点分隔符符号?
最终,我想编写支持用户输入中两个小数点的代码 - 文化特定和.
,但如果我不知道JavaScript期望什么,我就不能编写这样的代码。
新增: OK,鲁本斯法里亚斯suggests看similar question其中有一个整洁的接受的答案:
function whatDecimalSeparator() {
var n = 1.1;
n = n.toLocaleString().substring(1, 2);
return n;
}
这很好,它让我得到了现场小数点。毫无疑问,迈向解决方案的一步。
现在,剩下的部分将是确定.parseFloat()
的行为是什么。有几个回答指出,对于浮点文字,只有.
是有效的。 .parseFloat()
的行为方式是否相同?或者可能需要在某些浏览器中使用本地小数点分隔符?是否有任何解析浮点数的方法?我应该推出我自己的即将确定吗?
@ Vilx-对于你在做什么,我会考虑使用一元(+)运算符而不是'parseFloat()'。验证输入时会容易得多。看到我更新的答案。 – 2010-01-18 11:06:46