繁体   English   中英

我怎样才能让NumberFormat使用一种货币,但使用小数美分/便士?

[英]How can I get NumberFormat to use a currency but with fractional cents/pennies?

我想使用NumberFormatDouble转换为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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM