Есть ли в Firefox 41 ошибка при форматировании `new Intl.NumberFormat("es-ES"). Format(3500)` как `3 500`?

Пытаясь ознакомиться с поддержкой форматирования чисел в разных браузерах, я обнаружил, что 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>');

2 ответа

Решение

Я пробовал Firefox каждую ночь, и он возвращается 3.500 вместо 3 500, Затем я искал bugzilla, и, похоже, были различные сообщения об ошибках, связанные с форматированием чисел с помощью локали "es-ES", например https://bugzilla.mozilla.org/show_bug.cgi?id=1013091 и https://bugzilla.mozilla.org/show_bug.cgi?id=1078154 которые были исправлены как исправленные. Таким образом, похоже, что проблема была расценена как ошибка, но она уже была исправлена ​​в ночных / разрабатываемых версиях Firefox.

Да, я бы сказал, что это неоднозначно. Ссылаясь на https://en.wikipedia.org/wiki/Decimal_mark:

Как правило, [не говорящие по-английски] европейские страны используют периоды или пробелы: 10.000 или 10 000.

Я не испанец, но как континентальный европеец я могу подтвердить, что оба они одинаково распространены и понятны 1. Просто не используйте запятую, которая является десятичным разделителем 2. Лично я предпочитаю тонкое пространство.

1: Википедия также перечисляет "Испания" в нескольких местах в разделе " Примеры ".
2: Это отличается от испанского, как говорят в Америке, хотя, см., Например, Руководство по испанскому стилю Microsoft

Другие вопросы по тегам