BigDecimal大数字方法的解释及使用


前言

        BigInteger方法,可以实现,取值任意精度整数,在运算过程中,不会有任何数据的损失。BigDecimal类比BigInteger加入了小数的概念,支持任意精度的小数。


一、BigDecimal大数字方法是什么?

        BigDecimal大数字方法,是取得任意精度小数的方法,计算过程中,不会有任何数据损失。

二、怎么使用?

1.使用步骤

        第一步 导入math包

import java.math.BigDecimal;
    第二步 new实例化
BigDecimal b=new BigDecimal(Double.toString(value));

        第三步 使用运算方法

常用方法解释
value1.add(value2);
value1.subtract(value2);
value1.multiply(value2);
value1.divide(value2,保留几位,处理方法);

        Divide()方法的多种处理模式

模式含义
BigDecimal.ROUND_UP商的最后一位>0,向前进位,正负都进
BigDecimal.ROUND_DOWN商的最后一位省略
BigDecimal.ROUND_CEILING商是正数,按UP模式处理;商是负数,按DOWN模式处理。使值=>实际值
BigDecimal.ROUND_FLOOR与CEILING模式相反。使值<=实际值
BigDecimal.ROUND_HALF_DOWN商四舍五入,五舍去
BigDecimal.ROUND_HALF_UP四舍五入,五进位
BigDecimal.ROUND_HALF_EVEN

商的倒数第二位为奇数,按HALF_UP处理,为偶数,按HALF_DOWN处理

例:  7.5=8, 8.5=8

2.实操展示

代码如下:

import java.math.BigDecimal;
public class argsdemo {
	static final int location=10;
	//函数创建格式 public/private/protected + 数据类型 +函数名+(数值一,数值二);
	//加法方法
	public BigDecimal add(double value1,double value2) { 
		BigDecimal b1=new BigDecimal(Double.toString(value1)); 
		BigDecimal b2=new BigDecimal(Double.toString(value2)); 
		return b1.add(b2);
	}
	//减法方法
	public BigDecimal sub(double value1,double value2) {
		BigDecimal b1=new BigDecimal(Double.toString(value1)); 
		BigDecimal b2=new BigDecimal(Double.toString(value2)); 
		return b1.subtract(b2);
	}
	//乘法方法
	public BigDecimal mul(double value1,double value2) {
		BigDecimal b1=new BigDecimal(Double.toString(value1)); 
		BigDecimal b2=new BigDecimal(Double.toString(value2)); 
		return b1.multiply(b2);
	}
	//除法方法
	public BigDecimal div(double value1,double value2) {
		return div(value1,value2,location);
	}
	public BigDecimal div(double value1,double value2,int b) {
		if(b<0) {
			System.out.println("b值必须大于等于0");
		}
		BigDecimal b1=new BigDecimal(Double.toString(value1));
		BigDecimal b2=new BigDecimal(Double.toString(value2));
		return b1.divide(b2,b,BigDecimal.ROUND_HALF_UP);
	}
	public static void main(String[] args) {
		argsdemo b=new argsdemo();
		System.out.println(b.add(4.4, 6.3));
		System.out.println(b.sub(90, 100));
		System.out.println(b.mul(8, 2));
		System.out.println(b.div(5.4, 3.2, 2));
	}
}

运行结果:

 

总结

        以上是对BigDecimal方法的简单总结,BigDecimal在商业和工业的计算上用处还是很有帮助的,不会造成细微的数据损失。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵果森森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值