相关疑难解决方法(0)

为什么不使用Double或Float来表示货币?

我总是被告知永远不要代表钱doublefloat类型,这次我向你提出问题:为什么?

我确信有一个很好的理由,我根本不知道它是什么.

floating-point currency

887
推荐指数
11
解决办法
27万
查看次数

Java货币编号格式

有没有办法格式化小数如下:

100   -> "100"  
100.1 -> "100.10"
Run Code Online (Sandbox Code Playgroud)

如果是圆数,则省略小数部分.否则格式化为两位小数.

java currency number-formatting

81
推荐指数
11
解决办法
35万
查看次数

使用DecimalFormat格式化数字

我正在尝试使用DecimalFormat格式化价格,但这不适用于所有变体.

DecimalFormat df = new DecimalFormat("0.##")
df.format(7.8)
df.format(85.0)
Run Code Online (Sandbox Code Playgroud)

版画

7.80
Run Code Online (Sandbox Code Playgroud)

85
Run Code Online (Sandbox Code Playgroud)

但"7.79999"格式为"7.8",而不是"7.80".我试过这样做

DecimalFormat df = new DecimalFormat("0.00")
Run Code Online (Sandbox Code Playgroud)

强制两个dp,但"85.0"格式化为"85.00"而不是"85"!

有没有办法捕捉所有变化,以便价格打印为#,##或#.##?例如:

5,55,5.55,5.50,500,500.40

java decimalformat

12
推荐指数
2
解决办法
7万
查看次数