Java常用类:BigDecimal
BigDecimal
浮点数的计算是使用近似值,尽量不用浮点数计算
double d1 = 1.0;
double d2 = 0.9;
System.out.println(d1-d2);//0.09999999999999998
BigDecimal用于精确计算浮点数,位于java.math包中
方法
- 创建:new对象,字符串形式输入数字
BigDecimal bd1 = new BigDecimal("1.0");
BigDecimal bd2 = new BigDecimal("0.9");
- 加法:add()
BigDecimal r2 = bd1.add(bd2);
- 减法:subtract()
BigDecimal r1 = bd1.subtract(bd2);
- 乘法:mutiply()
BigDecimal r3 = bd1.multiply(bd2);
- 除法:divide()
BigDecimal r4 = new BigDecimal("1.4")
.subtract(new BigDecimal("0.5"))
.divide(new BigDecimal("0.9"));
在除不尽的时候需要对除法进行限制 divide.(BigDecimal bd,int scal,RoundingMode mode)
scal:精确到小数点后位数
RoundingMode mode
:取舍模式,常用BigDecimal.ROUND_HALF_UP:四舍五入
BigDecimal r5 = new BigDecimal("100").divide(new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!