Java中double保留2位小數(精度丟失)的兩種方式
在我們日常開發中,使用double數據類型進行計算,偶爾會出現精度丟失的情況,例如實際結果是0.75,就可能出現0.7500000000000001或0.7499999999999999。這邊介紹兩種方式(四舍五入)保留2位小數,可以滿足開發中處理double精度丟失的大部分需求。
1、使用round函數(同理:保留4位的話就是10000)
Double d = 3.141592653589;
double d1 = (double) Math.round(d * 100) / 100;
System.out.println(d1); //3.14
2、使用DecimalFormat函數(這個的返回值是String)
Double d = 3.141592653589;
DecimalFormat df = new DecimalFormat("######0.00");
String s = df.format(d);
double d2 = Double.valueOf(s);
System.out.println(s); //"3.14"
System.out.println(d2); //3.14
原文鏈接:https://blog.csdn.net/weixin_50989469/article/details/126622262
浙公網安備 33010602011771號