gpt4 book ai didi

java - 如何返回具有两位小数的 double ?

转载 作者:行者123 更新时间:2023-12-01 18:52:15 25 4
gpt4 key购买 nike

我想返回具有 2 位小数的 double 值(即 123.00)。以下是部分代码。输出始终为 123.0.0。如何得到小数点后两位?

public static double getPrice(){

double price = Double.valueOf(showInputDialog("Stock's price : "));

DecimalFormat rounded = new DecimalFormat("###.00");

double newPrice = Double.valueOf(rounded.format(price));
System.out.println(newPrice);

return newPrice;
}

最佳答案

只要函数的返回类型是double,简单的答案就是“你不能”。

许多十进制数不超过两位的数字不能完全表示为 double。一个常见的例子是 0.1。最接近它的double0.100000000000000005551115...

无论进行多少舍入,都无法精确得到 0.1

就您的选择而言,您可以:

  1. 接受与使用double相关的舍入问题;
  2. 返回一个int(即舍入值乘以100);
  3. 返回一个字符串
  4. 返回一个BigDecimal

特别是,如果您表示货币金额,那么使用 double 几乎肯定是一个坏主意。

关于java - 如何返回具有两位小数的 double ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15458559/

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