gpt4 book ai didi

java - 如何截断 double 值?

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

我想截断 double 。

例如

double d=3.123456789087654;

如果我想截断到小数点后第10位 结果应该是

result: 3.1234567890

我不需要对结果进行四舍五入

我尝试了自己的功能

     static double truncateDouble(double number, int numDigits) {
double result = number;
String arg = "" + number;
int idx = arg.indexOf('.');
if (idx!=-1) {
if (arg.length() > idx+numDigits) {
arg = arg.substring(0,idx+numDigits+1);
result = Double.parseDouble(arg);
}
}
return result ;
}

但没有得到我想要的适当结果.. 有人可以帮我解决我的问题吗?

java有支持截断不四舍五入的函数吗?

最佳答案

一般来说,你不能,至少不能使用double。原因是许多数字根本无法准确表示,即使它们有少量的小数位。

以0.1为例。最接近的 double 是 0.1000000000000000055511151...并且任何截断都不会给你精确的 0.1。

关于java - 如何截断 double 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15201713/

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