Java类BigDecimal(1)

44 篇文章 0 订阅
21 篇文章 0 订阅
package com.ylchou.testBigDecimal;

import java.math.BigDecimal;

public class TestBigDecimal {
	public static void main(String[] args) {
		System.out.println(0.08+0.07);
		System.out.println(0.08-0.07);
		System.out.println(0.08*0.07);
		System.out.println(0.08/0.07);
//		System.out.println(0.05-0.02);
//		System.out.println(1.15*100);
//		System.out.println(123.3/100);
		System.out.println("--------------------------------------------");
		
		BigDecimal d1 = new BigDecimal(0.08);
		BigDecimal d2 = new BigDecimal(0.07);
		System.out.println(d1.add(d2));
		System.out.println(d1.subtract(d2));
		System.out.println(d1.multiply(d2));
//		System.out.println(d1.divide(d2));//异常
		System.out.println(d1.divide(d2,10,BigDecimal.ROUND_HALF_UP));
		System.out.println("--------------------------------------------");
		
		BigDecimal d11 = new BigDecimal("0.08");
		BigDecimal d22 = new BigDecimal("0.07");
		System.out.println(d11.add(d22));
		System.out.println(d11.subtract(d22));
		System.out.println(d11.multiply(d22));
//		System.out.println(d11.divide(d22));//异常
		System.out.println(d11.divide(d22,10,BigDecimal.ROUND_HALF_UP));
		System.out.println("--------------------------------------------");
		
		BigDecimal d111 = BigDecimal.valueOf(0.08);
		BigDecimal d222 = BigDecimal.valueOf(0.07);
		System.out.println(d111.add(d222));
		System.out.println(d111.subtract(d222));
		System.out.println(d111.multiply(d222));
//		System.out.println(d111.divide(d222));//异常 
		System.out.println(d111.divide(d222,10,BigDecimal.ROUND_HALF_UP));
		System.out.println("--------------------------------------------");
	}
}

控制台输出:

0.15000000000000002
0.009999999999999995
0.005600000000000001
1.1428571428571428
--------------------------------------------
0.15000000000000000832667268468867405317723751068115234375
0.00999999999999999500399638918679556809365749359130859375
0.00560000000000000064948046940571658724118100550360839641493294928918135477946549372063600458204746246337890625
1.1428571429
--------------------------------------------
0.15
0.01
0.0056
1.1428571429
--------------------------------------------
0.15
0.01
0.0056
1.1428571429
--------------------------------------------



Java BigDecimal是用于处理高精度的十进制数值的。它提供了各种数学运算方法,例如加法、减法、乘法和除法,可以对BigDecimal对象进行这些运算操作。 例如,使用add()方法可以对两个BigDecimal对象进行相加操作;使用subtract()方法可以对两个BigDecimal对象进行相减操作;使用multiply()方法可以对两个BigDecimal对象进行相乘操作;使用divide()方法可以对两个BigDecimal对象进行相除操作。 此外,BigDecimal还提供了截断和四舍五入的功能。可以使用setScale()方法来设置保留的小数位数,并且可以指定采用的四舍五入模式。例如,通过设置setScale(4, RoundingMode.HALF_UP)来保留BigDecimal对象的小数位数为4,并且按照四舍五入的方式进行截断。 在使用BigDecimal时,通常会使用其构造方法来创建BigDecimal对象。其中一种常见的构造方法是将double型的数值转换为字符串,然后传递给构造方法,例如new BigDecimal("0.01")。 综上所述,Java BigDecimal可以用于进行高精度的十进制数值计算,并且可以实现截断和四舍五入的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [java中的BigDecimal型](https://blog.csdn.net/a1782519342/article/details/124727558)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值