java常用应用程序编程接口(API)——BigDecimal概述

前言:

由于浮点型运算的底层逻辑并不是遵循十进制运算,所以有时运算会出现bug,使用BigDecimal可以解决这个问题。打好基础,daydayup!

BigDecimal

BigDecimal是什么?

BigDecimal是一个浮点型运算的类,用于解决浮点型运算结果失真的问题

BigDecimal的使用方式

1,创建对象,调用有参数构造器初始化对象:public BigDecimal(double val); (将double转换为BigDecimal)

2,创建对象,调用有参数构造器初始化对象:public BigDecimal(String val); (将String转成BigDecimal)

例:如下

注:不建议使用方式1,因为直接把double转化成BigDecimal,同样会引发失真的问题

BigDecimal的常用方式

|-----------------------------------------------------|----------------------|
| 方法名 | 说明 |
| public static BigDecimal valueOf(double val) | 转换double类型 |
| public BigDecimal add(BigDecimal b) | 加法 |
| public BigDecimal subtract(BigDecimal b) | 减法 |
| public BigDecimal multiply(BigDecimal b) | 乘法 |
| public BigDecimal divide(BigDecimal b) | 除法 |
| public BigDecimal divide(另一个BigDecimal对象,精确几位,四舍五入) | 除法,可以控制精确到小数几位 |
| public double doubleValue() | 将BigDecimal转化成double |

例:如下

总结:

使用BigDecimal后一定要转换成double类型。整理结束,撒花!!

相关推荐
Java后端的Ai之路20 分钟前
Python进阶探索24_应用案例_linux系统的监控
linux·开发语言·python·应用·探索
程序员清风34 分钟前
PydanticAI 实战:用类型安全构建可靠的 Python Agent
开发语言·python·安全
落魄实习生37 分钟前
Agent Scope Java 2.x 系列【10】Middleware
java·开发语言·ai
Ramble_Naylor1 小时前
async/await:让一个线程同时等很多件事
开发语言·rust
ZealSinger1 小时前
Spring7 RestTemplate弃用迁移
java·spring·后端开发·restclient
迅猛龙办公室2 小时前
Python实现绘制同切圆
开发语言·python
朝朝辞暮i2 小时前
C++ 第 13 课:值传递 —— 为什么函数里改了,外面却没变?
java·c++·算法
弹简特2 小时前
【Java项目-企悦抽】16-抽奖模块01-获取活动完整信息接口实现
java·开发语言·状态模式·springboot
言乐62 小时前
Python语音检索
开发语言·python·django·virtualenv·pygame
BD_Marathon2 小时前
多轮对话聊天机器人
开发语言·机器人·c#