import java.math.*;
public class 高精度运算 {
BigDecimal b1,b2;
//加法运算
public BigDecimal add(double value1,double value2){
b1 = new BigDecimal(Double.toString(value1));
b2 = new BigDecimal(Double.toString(value2));
return b1.add(b2);
}
//减法运算
public BigDecimal sub(double value1,double value2){
b1 = new BigDecimal(Double.toString(value1));
b2 = new BigDecimal(Double.toString(value2));
return b1.subtract(b2);
}
//乘法运算
public BigDecimal mul(double value1,double value2){
b1 = new BigDecimal(Double.toString(value1));
b2 = new BigDecimal(Double.toString(value2));
return b1.multiply(b2);
}
public BigDecimal div(double value1 , double value2){
return div(value1,value2,5);
}
//创建除法方法2,参数为除数被除数和商的小数点后的位数
public BigDecimal div(double value1,double value2, int b){
if (b < 0 ){
System.out.println("b的值必须大于0");
}
b1 = new BigDecimal(Double.toString(value1));
b2 = new BigDecimal(Double.toString(value2));
return b1.divide(b2,b,BigDecimal.ROUND_HALF_UP);
}
//主方法
public static void main(String[] args) {
高精度运算 b= new 高精度运算();
Double c = -7.5;
Double d = 8.9;
System.out.println("两个数字相加:" + b.add(c, d));
System.out.println("两个数字相减:" + b.sub(c, d));
System.out.println("两个数字相乘:" + b.mul(c, d));
System.out.println("两个数字相除,保留小数点后10位:" + b.div(10, 4));
System.out.println("两个数字相除,保留小数点后05位:" + b.div(c, d, 5));
}
}
高精度运算
最新推荐文章于 2024-02-22 21:36:33 发布