1.問題 : 今天在寫** 將double 轉成bigdecimal 的時候 , 發現轉成的資料跟原資料不太一樣
double b=57.3;bigdecimal decimalb=new
bigdecimal(b);
system.out.println(decimalb);
//結果
57.2999999999999971578290569595992565155029296875
很明顯 , 精度丟失.
2.解決 :
double c=57.3;bigdecimal decimalc=new
bigdecimal(double.tostring(c));
system.out.println(decimalc);
double d=57.3;
bigdecimal decimald=bigdecimal.valueof(d);
system.out.println(decimald);
//結果
57.3
57.3
借鑑原文 :
這位老哥寫的比較細 , 我的寫的主要是給自己看的 ..哈哈....
double值的精確計算 bigdecimal
表示需要精確到小數點以後幾位 public static final int scale 2 提供精確的加法運算。param v1 被加數 param v2 加數 return 兩個引數的和 public static double adddouble double d1,double d2 提供精...
CString轉換為double 創 轉
cstring轉換為double cstring strfloat float flt 或double fit 不過前面兩種方法在vs2005下執行結果不正確,在vc6.0開發環境下是可以的。說明 網上很多說的都是前兩種方法,結果double值只是字串的第乙個數字。方法一 flt float ato...
前台接受資料,Integer轉double
前台接受系列資料,後端使用object接,資料在js做了處理,是乙個百分比,1 100之間除以100,傳到後端的有可能是double,或者integer 為1時,haha,還有0,寫到這才想起來,趕緊改改程式 將object強轉為integer先判斷是夠為空,再判斷是否為0,1.為0,1則用doub...