java BigDecimal型數據的應用
阿新 • • 發佈:2018-12-11
開發 math valueof 2.3 ima stat clas sca rgs 在java開發過程中,為了提高數據的精確性,特別是財務方面的結算,經常采用BigDecimal型數據類型,其引用及精確度情況如下:
package com.yzq.te;
import java.math.BigDecimal;
public class Bigdecimal {
public static double add(double value1,double value2){
BigDecimal b1 = new BigDecimal(Double.valueOf(value1));
BigDecimal b2 = new BigDecimal(Double.valueOf(value2));
return b1.add(b2).doubleValue();
}
public static double subtract(double value1,double value2) {
BigDecimal b1 = new BigDecimal(Double.valueOf(value1));
BigDecimal b2 = new BigDecimal(Double.valueOf(value2));
return b1.subtract(b2).doubleValue();
}
public static double multiply(double value1,double value2) {
BigDecimal b1 = new BigDecimal(Double.valueOf(value1));
BigDecimal b2 = new BigDecimal(Double.valueOf(value2));
return b1.multiply(b2).doubleValue();
}
public static double divide(double value1,double value2,int scale) {
BigDecimal b1 = new BigDecimal(Double.valueOf(value1));
BigDecimal b2 = new BigDecimal(Double.valueOf(value2));
return b1.divide(b2,scale).doubleValue();
}
public static void main(String[] args) {
System.out.println(Bigdecimal.add(0.1, 0.2));
System.out.println(Bigdecimal.subtract(0.3, 0.1));
System.out.println(Bigdecimal.multiply(0.3, 0.12));
System.out.println(Bigdecimal.divide(0.3, 0.13,1));
}
}
運行結果為:
0.30000000000000004
0.19999999999999998
0.036
2.3076923076923075
java BigDecimal型數據的應用