Roo*_*ode 7 javascript formatting culture locale
尝试在欧洲文化中将数字格式化为两位小数格式.这样逗号就是小数分隔符和空格千位分隔符.
在示例中,213245应格式化为213 245,00
我怎样才能做到这一点?
213245.toFixed(2).toLocaleString();
Run Code Online (Sandbox Code Playgroud)
给出213245.00但它应该是213 245,00
然而
213245.toLocaleString()
Run Code Online (Sandbox Code Playgroud)
给出213 245
小提琴下面:
var out, input;
input = 213245;
// TEST 1
out = input.toFixed(2);
console.log(out); // 213245.00
out = out.toLocaleString();
console.log(out); // 213245.00
// TEST 2
out = input.toLocaleString();
console.log(out); // 213 245
Run Code Online (Sandbox Code Playgroud)
Álv*_*lez 22
使用Number.toFixed()时,您将获得一个字符串(不再是数字).出于这个原因,后续调用.toLocaleString()启动通用的Object.toLocaleString()方法,该方法对数字一无所知,而不是您想要的Number.toLocaleString().
看看文档,我们可以组成这样的东西(在Firefox中测试):
> Number(213245).toLocaleString("es-ES", {minimumFractionDigits: 2});
"213.245,00"
Run Code Online (Sandbox Code Playgroud)
console.log(Number(213245).toLocaleString("es-ES", {minimumFractionDigits: 2}));Run Code Online (Sandbox Code Playgroud)
这是一个相对较新的添加,因此请务必验证浏览器支持.特别是,某些运行时(如Node.js)默认情况下不包括完整的ICU数据集.
| 归档时间: |
|
| 查看次数: |
12187 次 |
| 最近记录: |