我正在编写一个JavaScript函数,可以对使用Number.toFixed()从数字生成的字符串执行小数位操作。我需要完成的部分工作是在格式化的字符串中找到小数点的位置。但是,我开始怀疑toFixed()函数是否会使用特定于语言环境的格式(例如,'。'对比','表示小数点)。如果是这种情况,我不能只搜索'。'字符,但可能需要搜索逗号,或者可能需要搜索其他语言环境中使用的其他分隔符。
在C ++中,我可以使用numpunct语言环境facet来确定使用了哪个字符,但我不相信JavaScript中有任何等效资源。然后我的问题是toFixed()是否会遵守语言环境约定,如果是这样,有没有办法识别浏览器主机上使用的约定?
答案 0 :(得分:4)
不,我没有。只有.toLocaleString()
尊重小数点分隔符。假设locale具有','作为小数分隔符,Number('42,6')
都不会返回正确的值。
答案 1 :(得分:3)
// You can always ask-
Number.decimalChar= (function(){
return (3/5).toLocaleString().charAt(1)
})()
alert(Number.decimalChar)