(37)Java基础 --工具类和常用类 --BigDecimal类

目录

BigDecimal类

一、作用

二、构造方法

三、常用方法


BigDecimal类

java.math.BigDecimal

一、作用

BigDecimal类是与数学计算相关的一个类,提供了一些数据计算的方法,比如加减乘除,求绝对值,正玄余玄正割余割等方法。

 float、double两种浮点数类型运算是不够精确,不仅是java语言,很多编程语都有这样的问题。为了能够精确表示和计算浮点数,java提供了BigDecimal类。

二、构造方法

 

BigDecimal(String val)

将BigDecimal的字符串表示 BigDecimal转换为 BigDecimal

三、常用方法

1. add(BigDecimal augend)

返回 BigDecimal ,其值是 (this + augend) ,其标为 max(this.scale(), augend.scale())

2. subtract(BigDecimal subtrahend)

返回 BigDecimal ,其值是 (this - subtrahend) ,其标为 max(this.scale(), subtrahend.scale())

3. multiply(BigDecimal multiplicand)

返回 BigDecimal ,其值是 (this × multiplicand),其标为 (this.scale() + multiplicand.scale())

4. divide(BigDecimal divisor)

返回BigDecimal ,其值为(this / divisor) ,优先级为(this.scale() - divisor.scale()) ; 如果不能表示确切的商(因为它具有非终止的十进制扩展),则抛出一个ArithmeticException

public static void main(String[] args) {
		
		double x = 0.1;
		double y = 0.2;
		
        // 先创建两个 BigDecimal对象,再调用方法求值
		BigDecimal b1 = new BigDecimal(x+"");
		BigDecimal b2 = new BigDecimal(y+"");
		BigDecimal b3 = b1.add(b2);
		
		double result1 = b3.doubleValue();
		System.out.println(result1);
		
		double result2 = b1.subtract(b2).doubleValue();
		System.out.println(result2);
		
		double result3 = b1.multiply(b2).doubleValue();
		System.out.println(result3);
		
		double result4 = b1.divide(b2).doubleValue();
		System.out.println(result4);
}

上一篇:(36)java基础语法 --工具类和常用类 --Calendar类

下一篇:(38)Java基础 --工具类和常用类 --Math类

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值