我想截斷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