我知道我可以像这样在指定的语言环境中将数字转换为字符串
(1.2).toLocaleString("de-DE") //-> "1,2"
我不知道,或者似乎找不到的是,为什么没有办法逆向而行。例如:
("1,2").fromLocaleString("de-DE").toFloat()
或
parseFloat("1,2", "de-DE")
我发现从不同语言环境解析数字字符串的唯一解决方案是第三方插件。如果浏览器可以在一个方向上转换,有没有办法让它在另一个方向上转换?
定义自己的函数可能更容易。像这样:
function parseFloatSeparator(str, sep) {
sep = sep || ".";
str = str.replace(new RegExp("[^0-9"+sep+"]","g"),"");
if( sep != ".") str = str.replace(sep,".");
return parseFloat(str);
}