Java????????????????-BigDecimal
???????????? ???????[ 2016/7/13 10:41:07 ] ???????????????????
????java?????????????????????????????2????? java??BigDecimal??????.
???????磺
????System.out.println(0.9+0.3); ???1.2
????System.out.println(1.9+0.3); ???2.1999999999999997
????System.out.println(1.9+0.4); ???2.3
????java?????float????double???????????????????BigDecimal??
??????????£?
public static BigDecimal getBigDecimal(Double val){
//??double?????BigDecimal
return new BigDecimal(val);
}
public static BigDecimal getBigDecimal(int val){
//??int?????BigDecimal
return new BigDecimal(val);
}
public static BigDecimal getBigDecimal(String val){
//??String?????BigDecimal
return new BigDecimal(val);
}
//?м??????
public static double add(double d1??double d2){
BigDecimal b1=getBigDecimal(d1);
BigDecimal b2=getBigDecimal(d2);
return b1.add(b2).doubleValue();
}
//???????????????
public static double round(double d??int len){
BigDecimal b1=getBigDecimal(d);
BigDecimal b2=getBigDecimal(1);
return b1.divide(b2??len??BigDecimal.ROUND_HALF_UP).doubleValue();
}
?????????????
????System.out.println(1.9+0.3); ????2.1999999999999997
????System.out.println(round(add(1.9??0.3)??2)); ????2.2
??????????????????????????硣
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11