我想截断double。如何截断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是否支持这样的任何支持截断的函数不完整?
出于好奇,你为什么要失去精确性? – Supericy 2013-03-04 12:35:38
我对此毫无意义。在输出数字以外的其他位置是否有用于舍入/截断的用例?另外,虽然我有一个预感NPE是正确的,因为“适当”的结果是一个无法准确表示的数字,你能说你的代码的实际问题是什么?即什么是错误的结果,哪些输入和你所期望的? – millimoose 2013-03-04 12:48:00
@millimoose:我的问题很简单..我想在小数点后的特定号码后打开double。 – kTiwari 2013-03-04 13:13:31