![](/img/trans.png)
[英]How to use NumberFormat in Java for custom currency formatting?
[英]How can I get NumberFormat to use a currency but with fractional cents/pennies?
我想使用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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.