Java基础之小数的加减乘除

本文通过实例展示了使用浮点数进行算术运算时出现的精度问题,并提供了一种解决方案——利用BigDecimal类来确保计算的准确性。适用于需要高精度计算的场景。

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

小数的加减乘除

       今天修改项目的时候,突然发现版本号的递增出现了问题,本来应该是当前版本号 + 0.1 = 递增后的版本号,结果获得的版本号出现了很多的小数。

例如:

public class Test04 {

	public static void main(String[] args) {
		
		Float f1 = 1.7f;
		Float f2 = 0.1f;
		Float f3 = f1 + f2;
		System.out.println("f1 + f2 = "+f3);
	}
}

输出结果:

因此,小数加减乘除建议用BigDecimal;

import java.math.BigDecimal;

public class Test04 {

	public static void main(String[] args) {
	      //小数加减乘除用BigDecimal
              BigDecimal b1 = new BigDecimal("1.8");
              BigDecimal b2 = new BigDecimal("0.1");
              BigDecimal b3 = b1.add(b2);//小数相加
              BigDecimal b4 = b1.subtract(b2);//小数相减
              BigDecimal b5 = b1.multiply(b2);//小数相乘
              System.out.println("1.8 + 0.1 = " + b3);
              System.out.println("1.8 - 0.1 = " + b4);
              System.out.println("1.8 * 0.1 = " + b5);
	}
}

输出结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值