gpt4 book ai didi

java - 如何正确显示最多两位小数(美分)的价格,包括 Java 中的尾随零?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:38:19 26 4
gpt4 key购买 nike

Java 中有一个关于四舍五入小数的好问题 here .但我想知道如何在我的程序中包含尾随零以显示价格,例如:$1.50、$1.00

简单的解决方案

String.format("%.2g%n", 0.912385);

工作正常,但如果它位于最后一位小数,则省略尾随零。即使我只使用这样的表达式,我的程序也会出现这个问题:

double price = 1.50;

当我对不同的价格进行计算(相加、相乘等)时,结果主要显示如下:

$2.5000000000000003

因此,使用 String.format 可以很好地实现此目的,但它将上面的示例截断为

$2.5

有没有正确的方法来显示小数点后第二位的尾随零?或者如果计算的输出应该是

$2.00

最佳答案

我建议您这样做:

NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance();
double price = 2.50000000000003;
System.out.println(currencyFormatter.format(price));

这也具有特定于语言环境的优点。例如,如果您在欧元区而不是美国,这将起作用。

关于java - 如何正确显示最多两位小数(美分)的价格,包括 Java 中的尾随零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1734282/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com