所有不同 Intl.NumberFormats 的完整列表

Pet*_*ter 5 javascript concurrency number-formatting

我正在寻找所有不同 Intl.NumberFormats 的完整列表。

Intl.NumberFormat页面显示了3种不同的格式。

ja-JP -> "?123,457"
de-DE -> 123.456,79 €
en-IN -> 1,23,000
Run Code Online (Sandbox Code Playgroud)

这就是全部吗?或者还有更多?

Sim*_* B. 5

Intl 在这里介绍https://hacks.mozilla.org/2014/12/introducing-the-javascript-internationalization-api/并具有以下要点:

  1. 没有官方列表,因为“API 是尽力而为”
  2. 默认情况下,浏览器接受所有格式正确的代码(提到了 BCP 47,然后找到最合适的代码)
  3. 您可以指定仅查找以禁用最适合的算法,然后您可以获得所有国家/地区和语言代码的列表,并以这种方式运行特定操作系统上具有特定已安装语言列表的特定浏览器的所有组合,但我猜如果您正在构建网络项目,这不是您想听到的。但您可能希望利用supportedLocalesOf来选择与本地相关的内容。
  4. 在引擎盖下,浏览器通常使用ICU或类似的

tl;dr:因此,如果您发送对有效区域设置的最佳猜测,最适合的算法将为您提供有用的东西!

有效的区域设置? 根据文档和我之前的研究,Intljavascript API 希望您根据BCP 47格式化区域设置代码。


Pet*_*ter -6

全球范围内提供所有不同的格式。

\n\n
$c = \'{\n"en_EN": "$100,000.00",\n"de_DE": "100.000,00\xc2\xa0$",\n"af_AF": "$\xc2\xa0100,000.00",\n"am_AM": "US$100,000.00",\n"ar_AR": "\xd9\xa1\xd9\xa0\xd9\xa0\xd9\xac\xd9\xa0\xd9\xa0\xd9\xa0\xd9\xab\xd9\xa0\xd9\xa0\xc2\xa0US$",\n"bn_BN": "\xe0\xa7\xa7,\xe0\xa7\xa6\xe0\xa7\xa6,\xe0\xa7\xa6\xe0\xa7\xa6\xe0\xa7\xa6.\xe0\xa7\xa6\xe0\xa7\xa6US$",\n"bg_BG": "100000,00\xc2\xa0\xd1\x89.\xd0\xb4.",\n"ca_CA": "100.000,00\xc2\xa0USD",\n"cs_CS": "100\xc2\xa0000,00\xc2\xa0US$",\n"nl_NL": "US$\xc2\xa0100.000,00",\n"et_ET": "100\xc2\xa0000,00\xc2\xa0$",\n"fr_FR": "100\xc2\xa0000,00\xc2\xa0$US",\n"he_HE": "\xe2\x80\x8f100,000.00\xc2\xa0$",\n"hi_HI": "$1,00,000.00",\n"it_IT": "100.000,00\xc2\xa0US$",\n"nb_NB": "USD\xc2\xa0100\xc2\xa0000,00",\n"ms_MS": "USD100,000.00",\n"id_ID": "US$100.000,00",\n"pl_PL": "100\xc2\xa0000,00\xc2\xa0USD"}\';\n
Run Code Online (Sandbox Code Playgroud)\n

  • 这个答案肯定是错误的。我不知道它是如何成为公认的答案的。如果您尝试使用任何这些代码,Intl.NumberFormat 会由于其无效而引发错误。这些代码可能适用于 iOS,但问题是针对 JavaScript 提出的。 (3认同)