BigDecimal的使用

BigDecimal所创建的是对象,故我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。
常用方法:
1.add(BigDecimal)
BigDecimal对象中的值相加,返回BigDecimal对象
2.subtract(BigDecimal)
BigDecimal对象中的值相减,返回BigDecimal对象
3.multiply(BigDecimal)
BigDecimal对象中的值相乘,返回BigDecimal对象
4.divide(BigDecimal)
BigDecimal对象中的值相除,返回BigDecimal对象
5.toString()
将BigDecimal对象中的值转换成字符串
6.doubleValue()
将BigDecimal对象中的值转换成双精度数
7.floatValue()
将BigDecimal对象中的值转换成单精度数
8.longValue()
将BigDecimal对象中的值转换成长整数
9.intValue()
将BigDecimal对象中的值转换成整数

舍入方式:

BigDecimal.ROUND_HALF_UP

四舍五入模式

BigDecimal.ROUND_HALF_DOWN

五舍六入模式
如果舍去部分大于 0.5 则为进一,如果是小于 0.5 则会舍去

BigDecimal.ROUND_HALF_EVEN

银行家舍入法
如果舍弃部分左边的数字为奇数,则舍入行为与 ROUND_HALF_UP 相同;
如果为偶数,则舍入行为与 ROUND_HALF_DOWN 相同。

BigDecimal.ROUND_UP

始终在保留的最后一位加1

BigDecimal.ROUND_DOWN

从舍弃位置直接截断

BigDecimal.ROUND_CEILING

接近正无穷大的舍入模式。
如果 BigDecimal 为正,则舍入行为与 ROUND_UP 相同;
如果为负,则舍入行为与 ROUND_DOWN 相同。
此舍入模式始终不会减少计算值。

BigDecimal.ROUND_FLOOR

和ROUND_CEILING相反
接近负无穷大的舍入模式。
如果 BigDecimal 为正,则舍入行为与 ROUND_DOWN 相同;
如果为负,则舍入行为与 ROUND_UP 相同。

BigDecimal.ROUND_UNNECESSARY

断言请求的操作具有精确的结果,因此不需要舍入。
如果对获得精确结果的操作指定此舍入模式,则抛出ArithmeticException

posted @   无相蛋  阅读(54)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· 万字调研——AI生成内容检测
· 解决跨域问题的这6种方案,真香!
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
点击右上角即可分享
微信分享提示