如何在 Java/Kotlin 中获取 NumberFormat 的语言环境?

Posted

技术标签:

【中文标题】如何在 Java/Kotlin 中获取 NumberFormat 的语言环境?【英文标题】:How to get the Locale of a NumberFormat in Java/Kotlin? 【发布时间】:2019-03-31 21:57:49 【问题描述】:

根据https://docs.oracle.com/javase/7/docs/api/java/text/NumberFormat.htmlNumberFormat.getInstance() 将为您提供当前语言环境中的NumberFormat 实例。我想在创建实例后验证语言环境使用getLocale() 之类的方法,但那里似乎没有记录这种方法。

我能做的最好的确定就是在 Kotlin shell (kotlinc) 中调用 Locale.getDefault()

>>> import java.math.BigDecimal
>>> import java.text.NumberFormat
>>> NumberFormat.getInstance().format(BigDecimal(1500))
1,500
>>> import java.util.Locale
>>> Locale.getDefault()
en_US

没有NumberFormat.getLocale()方法吗?

【问题讨论】:

【参考方案1】:

没有NumberFormat.getLocale()方法吗?

没有 - 你可以做的就是调用 NumberFormat.getInstance() 在后台执行的相同方法:

Locale defaultLocale = Locale.getDefault(Locale.Category.FORMAT);

Java 8 中有两个Category:https://docs.oracle.com/javase/8/docs/api/java/util/Locale.Category.html。如果您需要 DISPLAY 一个,只需换掉 arg。

【讨论】:

以上是关于如何在 Java/Kotlin 中获取 NumberFormat 的语言环境?的主要内容,如果未能解决你的问题,请参考以下文章

如何读取将作为 MultipartFile 参数传递的 SQLite 文件? (在 java/kotlin 中)

Kotlin 与 Java 相互调用

如何在Java / Kotlin客户端库中为Google上的操作将一些数据保存到userStorage中

如何使用 JPA 和休眠映射 Java/Kotlin 字符串数组和 Postgres SQL 数组

如何从 Android 调用 Java/Kotlin GCP 云函数

sqlserver2005如何把row_numbe函数的值赋值给某一列