Хобрук: Ваш путь к мастерству в программировании

Есть ли в 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>');


  • Это очень необычный формат здесь, в Испании. В частности, я использую его (если вообще когда-либо) только в рукописных заметках. Разделитель тысяч .. 01.11.2015
  • В Chrome 86 числа ‹ 10000, отформатированные на испанском языке, больше не имеют разделителя тысяч. См. bugs.chromium.org/p/chromium/issues/detail?id =1139358 12.11.2020

Ответы:


1

Я пробовал 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.

01.11.2015
  • Я могу подтвердить, что это исправлено в Firefox/42.0. 11.11.2015

  • 2

    Да, я бы сказал, двусмысленно. Цитируя https://en.wikipedia.org/wiki/Decimal_mark#Digit_grouping:

    Обычно [неанглоязычные] европейские страны используют точки или пробелы: 10 000 или 10 000.

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

    1: Википедия также указывает «Испанию» в нескольких местах в своих Примерах section
    2: Однако для испанского языка это отличается от того, на котором говорят в Америке, см., например. Майкрософт Руководство по испанскому стилю

    01.11.2015
  • И когда речь идет о деньгах, сумма также может быть записана как 1.200,- или 1200,- вместо использования 1200,00. С обычными числами я очень часто вижу пробелы, но когда речь идет о деньгах, я редко вижу пробелы. 01.11.2015
  • Я не знаком с этой спецификацией, но разве она не определяет точный формат? Я сомневаюсь, что разработчику браузера будет предоставлено право реализовать это на основе их представления о стандартах локали. 01.11.2015
  • @torazaburo: Нет, это остается за реализацией. В обязанности ECMA-402 не входит определение сопоставления локали и форматирования. Есть проекты по стандартизации таких, но предполагается, что они будут меняться отдельно и использоваться где-то еще. Например, ES указывает только Date API, но не включает базу данных часовых поясов. 01.11.2015
  • Новые материалы

    #093 | Моделирование вспышки эпидемии с помощью JavaScript — Часть 3
    TLDR: Я сделал симуляцию вспышки эпидемии, в которую можно поиграть здесь . Мой холст, моя сцена Мой HTML — это всего лишь один div с классом stage, и вот как я настроил на нем свой объект..

    numberToString.js (8kyu 16)
    Алгоритм кодовых войн Проблема Нам нужна функция, которая может преобразовать число в строку. 숫자를 문자열로 변환하는 함수를 작성해라. Решение 01 function numberToString(n) { return n.toString(); }..

    Лучшие практики для быстрого изучения языка программирования
    Изучение языка программирования может быть сложной задачей, но при правильном подходе определенно возможно быстро выучить язык программирования. Хорошее понимание языка программирования может..

    Использование данных из Adobe Analytics в предложениях Adobe Target
    Я уверен, что все видели эти всплывающие окна в интернет-магазинах, которые говорят что-то вроде « 15 человек просматривают этот товар прямо сейчас! » или « 105 человек из Мичигана купили это..

    Машинное обучение и его набор данных в CreateML
    Когда я впервые начал учиться в Apple Developer Academy, у меня был момент неуверенности в моем интересе к машинному обучению. Нужно ли мне сменить карьеру моей мечты с специалиста по данным на..

    Обучение требует воли
    Недавно я прочитал отличную статью Шейна Легга и Джоэла Венесса из DeepMind. http://arxiv.org/pdf/1109.5951v2.pdf В статье «универсальный интеллект» агента π определяется как: Поэтому..

    Безопасность по дизайну делает всех счастливыми
    Заложенная безопасность делает всех счастливыми Если вы никогда не смотрели Louis C.K. рассказать о том, как Все удивительно, и никто не счастлив ; побаловать себя. Сделайте это прямо..