1

在尝试熟悉不同浏览器对数字格式的支持时,我发现 Firefox 41 格式new Intl.NumberFormat("es-ES").format(3500)3 500(以空格作为组分隔符),而 IE 11、Edge 和 Google Chrome 给了我3.500(以点.作为组分隔符) .

我想知道,这是Firefox中的错误吗?还是西班牙允许的数字格式不明确?

var d1 = 3500;
var esES = new Intl.NumberFormat("es-ES");
var formattedNumber = esES.format(d1);
document.body.insertAdjacentHTML('beforeEnd', '<p>Formatted the number ' + d1 + ' with NumberFormat ' + esES.resolvedOptions().locale + ' as ' + formattedNumber + '<\/p>');

4

2 回答 2

4

我每晚都尝试过 Firefox,它返回3.500而不是3 500. 然后我搜索了 bugzilla,看起来有各种与使用区域设置“es-ES”的数字格式相关的错误报告,例如https://bugzilla.mozilla.org/show_bug.cgi?id=1013091https://bugzilla .mozilla.org/show_bug.cgi?id=1078154已解决。所以看起来这个问题被认为是一个错误,但它已经在 Firefox 的 nightlies/development 版本中得到修复。

于 2015-11-01T15:14:11.547 回答
2

是的,我会说这是模棱两可的。引用https://en.wikipedia.org/wiki/Decimal_mark#Digit_grouping

通常,[非英语]欧洲国家使用句点或空格:10.000 或 10 000。

我不是西班牙人,但作为欧洲大陆人,我可以确认两者同样普遍且易于理解1。只是不要使用逗号,即小数点分隔符2。我个人更喜欢狭窄的空间。

1:维基百科还在他们的示例部分
中的多个地方列出了“西班牙” 2:这与在美国所说的西班牙语不同,请参见例如Microsofts Spanish Style Guide

于 2015-11-01T14:51:31.670 回答