gpt4 book ai didi

java - 如何删除 Java 中十进制数的最后一位?

转载 作者:行者123 更新时间:2023-11-29 10:10:34 24 4
gpt4 key购买 nike

例如,当我有 3.333 并且执行该代码时,我需要的数字是 3.33。

这是我应该做的代码,但没有:

String number = Double.toString(first);
number = number.substring(0, string.length() - 1);
first = Double.parseDouble(number);

我尝试通过将数字转换为字符串、切断最后一个字符并将其再次保存为 double 来实现。但它不起作用。它不是截掉 1 位数字,而是截断 2 位数字,例如在上面它将返回 3.3。

这种方法可靠吗?如果可靠,我该如何解决?

此外,此方法是否有可能使程序崩溃(只有十进制数字通过该代码)并且精度会下降吗?

最佳答案

使用String.format:

String.format("%.2f", 3.333);

或者使用BigDecimal:

new BigDecimal(3.333).setScale(2, RoundingMode.DOWN)

setScale 设置您需要多少个小数点。您稍后可以在上面的 BigDecimal 上执行 toString() 并将其打印出来。

关于java - 如何删除 Java 中十进制数的最后一位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37792845/

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