2021-07-22

BigDecimal 方法大全


一.舍入模式的三种定义方式

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
接近负无穷大的舍入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

No comments:

Post a Comment