为啥 Android 的 NumberFormat 使用逗号作为澳大利亚的小数分隔符?

Posted

技术标签:

【中文标题】为啥 Android 的 NumberFormat 使用逗号作为澳大利亚的小数分隔符?【英文标题】:Why does Android's NumberFormat use a comma as a decimal separator for Australia?为什么 Android 的 NumberFormat 使用逗号作为澳大利亚的小数分隔符? 【发布时间】:2019-07-28 20:23:31 【问题描述】:

使用android.icu.text.NumberFormat 类:

NumberFormat numberFormat =  NumberFormat.getNumberInstance(Locale("en", "AU")); 
numberFormat.isGroupingUsed = true
String number = numberFormat.format(123456)

会产生123,456,但根据Wikipedia,澳大利亚使用点.作为小数分隔符。为什么 NumberFormat 会这样?

【问题讨论】:

【参考方案1】:

数字123456 没有小数。您看到的是千位分组符号 ,,而不是小数点。

【讨论】:

糟糕。这有点尴尬 :D 谢谢。

以上是关于为啥 Android 的 NumberFormat 使用逗号作为澳大利亚的小数分隔符?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Intl.NumberFormat 不适用于 Safari 和 Firefox 中的单位?

在 Android 中是不是可以对 Numberformat 进行区域感知解析?

Java NumberFormat 舍入模式,为啥一半格式 1.015 到 1.01 而不是 1.02

Android 对 ListView 的一项使用 NumberFormat

从 EditText 获取数据输入时,导致应用程序崩溃 Android 的 NumberFormat 错误

Intl.NumberFormat.formatToParts 不是函数