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类型。整理结束,撒花!!

相关推荐
xyq20241 天前
Java 变量命名规则
开发语言
天启HTTP1 天前
HTTP代理和隧道代理的底层区别与适用场景分析
开发语言·网络协议·tcp/ip·php
清心歌1 天前
HashMap实现原理及扩容机制
java
一只大袋鼠1 天前
数据库连接池从入门到精通(下):Druid 连接池使用与工具类封装
java·数据库·连接池
小白学大数据1 天前
告别复杂 XPath:DeepSeek+Python 爬虫快速实践
开发语言·爬虫·python·selenium
禹中一只鱼1 天前
【IDEA 出现 `IDE error occurred`】
java·ide·spring boot·intellij-idea
西凉的悲伤1 天前
Guava类库——Lists.partition() 高效分批处理列表数据
java·guava
weixin_408099671 天前
【保姆级教程】按键精灵调用 OCR 文字识别 API(从0到1完整实战 + 可运行脚本)
java·前端·人工智能·后端·ocr·api·按键精灵
brahmsjiang1 天前
Java类加载机制解析:从JVM启动到双亲委派,再到Android的特殊实现
android·java·jvm
fengci.1 天前
LilCTF2025web(前半部分)
开发语言·网络·学习·php