一.舍入模式的三种定义方式
1.BigDecimal 常量
模式 | 常量名 | 描述 |
---|---|---|
向上取整 | ROUND_DOWN | 直接删除多余的小数位 |
向下取整 | ROUND_UP | 2.35变成2.3 |
四舍五入 | ROUND_HALF_UP | 2.35变成2.4, 2.34变成2.3 |
五舍六入 | ROUND_HALF_DOWN | 5也会向下舍 2.35变成2.3 |
接近正无穷大的舍入 | ROUND_CEILING | -2.35 变成 -2.3,2.35变成2.4 |
接近负无穷大的舍入 | ROUND_FLOOR | -2.35 变成 -2.4, 2.35变成2.3 |
向最接近的数字舍入 | ROUND_HALF_EVEN | 如果与两个相邻数字的距离相等,则向相邻的偶数舍入 |
计算结果是精确的,不需要舍入模式 | ROUND_UNNECESSARY | 不舍入,如果结果精确会抛出异常 |
2.RoundingMode 枚举
其实就是枚举类里面封装了一个常量,引用了上面的枚举类常量,运用方法:RoundingMode.HALF_UP
UP(BigDecimal.ROUND_UP),DOWN(BigDecimal.ROUND_DOWN),CEILING(BigDecimal.ROUND_CEILING),FLOOR(BigDecimal.ROUND_FLOOR),HALF_UP(BigDecimal.ROUND_HALF_UP),HALF_DOWN(BigDecimal.ROUND_HALF_DOWN),HALF_EVEN(BigDecimal.ROUND_HALF_EVEN),UNNECESSARY(BigDecimal.ROUND_UNNECESSARY);
3.MathContext 不可变对象
为一个不可变对象,他常用的构造方法如下:
- MathContext(int setPrecision) 精度,默认舍入模式为四舍五入
- MathContext(int setPrecision,RoundingMode setRoundingMode)
精度,舍入模式
二.常用运算方法
1.加法 add()
方法 | 参数解释 | 描述 |
---|---|---|
add(BigDecimal augend) | subtrahend:加数 | 精度取两个数中精度较大的那个精度 |
add(BigDecimal augend,MathContext mc) | subtrahend:加数,mc:看上面的MathContext |
2.减法 subtract()
方法 | 参数解释 | 描述 |
---|---|---|
subtract(BigDecimal subtrahend) | subtrahend:减数 | 精度取两个数中精度较大的那个精度 |
subtract(BigDecimal subtrahend,MathContext mc) | subtrahend:减数,mc:看上面的MathContext |
3.乘法 multiply()
方法 | 参数解释 | 描述 |
---|---|---|
multiply(BigDecimal multiplicand) | multiplicand:另一个乘数 | 精度为两个乘数的精度相乘 |
multiply(BigDecimal multiplicand, MathContext mc) | multiplicand:另一个乘数,mc:看上面的MathContext |
4.除法 divide()
方法 | 参数解释 | 描述 |
---|---|---|
divide(BigDecimal divisor) | divisor:除数 | 不能整除就报错 |
divide(BigDecimal divisor,int roundingMode) | divisor:除数,roundingMode:保留小数 | 默认舍入模式为ROUND_UNNECESSARY |
divide(BigDecimal divisor,int scale,int roundingMode) | divisor:除数,scale:保留位数,roundingMode:舍入模式 |
5.保留几位小数 setScale()
方法 | 参数解释 |
---|---|
setScale(int newScale,int roundingMode) | 第一个参数为保存的小数位数,第二个参数为舍入模式 |
setScale(int newScale,RoundingMode roundingMode)<...... 原文转载:http://www.shaoqun.com/a/891014.html 跨境电商:https://www.ikjzd.com/ 墩煌网:https://www.ikjzd.com/w/189 etoro:https://www.ikjzd.com/w/1402 百思买:https://www.ikjzd.com/w/394 一.舍入模式的三种定义方式1.BigDecimal常量模式常量名描述向上取整ROUND_DOWN直接删除多余的小数位向下取整ROUND_UP2.35变成2.3四舍五入ROUND_HALF_UP2.35变成2.4,2.34变成2.3五舍六入ROUND_HALF_DOWN5也会向下舍2.35变成2.3接近正无穷大的舍入ROUND_CEILING-2.35变成-2.3,2.35变成2.4接近负无穷大的舍 台湾春节旅游指南 屏东垦丁交通住宿:http://www.30bags.com/a/420101.html 台湾春节期间夜市、西门町商圈等正常营业的吗?:http://www.30bags.com/a/419780.html 台湾大学生规划滇藏公路游 骑着单车去拉萨(图):http://www.30bags.com/a/427466.html 台湾当地的信仰和禁忌有哪些?:http://www.30bags.com/a/419766.html 那一夜我解开了老师的裙子 老师引诱我进了她身体:http://lady.shaoqun.com/a/247358.html 好想让你㖭我下面述说 我和么公的那些事:http://lady.shaoqun.com/a/248404.html 口述:小姨子与姐夫之间那些不要脸的事儿(中)(5/5):http://lady.shaoqun.com/m/a/82893.html 男人撕开奶罩揉吮奶头 我都说疼了他还在继续:http://www.30bags.com/m/a/249804.html 其实也可以做有钱人泡妞的秘诀:http://lady.shaoqun.com/a/427379.html 陪酒见"大哥"淮南,一名在KTV工作的女子被三人轮奸:http://lady.shaoqun.com/a/427380.html 2021深圳文博会展馆介绍(持续更新):http://www.30bags.com/a/516276.html 2021深圳文博会在会展中心吗:http://www.30bags.com/a/516277.html |
没有评论:
发表评论