作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 NumberFormat
将 Double
转换为 String
。我目前正在使用基于货币区域设置的 NumberFormat
,但这会将 Double
四舍五入到小数点后两位。我怎样才能让它不四舍五入货币,以便它包含小数便士?
如果我有
val doubleFormatMoney = 1.032323135
val format = NumberFormat.getCurrencyInstance(Locale.US)
val stringFormatMoney = format.format(doubleFormatMoney)
然后我们应该有 stringFormatMoney = $1.032323135
但我得到 stringFormatMoney = $1.03
最佳答案
每个区域设置的货币格式规范包括要使用的小数位数,因为这因货币而异(某些货币使用 3dp,例如约旦第纳尔)。因此,NumberFormat.getCurrencyInstance(Locale.US)
根据定义包括四舍五入到 2dp。
如果您想使用标准的 Double
toString
加上区域设置的货币符号,您可以这样做:
Currency.getInstance(Locale.US).getSymbol(Locale.US) + doubleFormatMoney
参见How to get the currency symbol for particular country using locale?
关于java - 如何让 NumberFormat 使用货币但带有小数美分/便士?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51020248/
我是一名优秀的程序员,十分优秀!