高精度运算

本文介绍了一种使用Java实现高精度运算的方法,包括加法、减法、乘法和除法运算,通过BigDecimal类实现了对浮点数进行精确计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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));
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值