BigDecimal 舍入模式(Rounding mode)介绍:
在 java中, 四舍五入通过 BigDecimal 来实现。一定要注意:BigDecimal is Immutable。也就是跟String一样,对前一个的修改,比如setScale(), add()等都会返回一个新的BigDecimal.四舍五入舍入模式是 BigDecimal.ROUND_HALF_UP
BigDecimal定义了一下舍入模式,只有在作除法运算或四舍五入时才用到舍入模式,下面简单介绍,详细请查阅J2se API文档
static int
|
ROUND_CEILING
Rounding mode to round towards positive infinity.
向正无穷方向舍入
|
static int
|
ROUND_DOWN
Rounding mode to round towards zero.
向零方向舍入
|
static int
|
ROUND_FLOOR
Rounding mode to round towards negative infinity.
向负无穷方向舍入
|
static int
|
ROUND_HALF_DOWN
Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round down.
向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向下舍入, 例如1.55 保留一位小数结果为1.5
|
static int
|
ROUND_HALF_EVEN
Rounding mode to round towards the "nearest neighbor" unless both neighbors are equidistant, in which case, round towards the even neighbor.
向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,如果保留位数是奇数,使用ROUND_HALF_UP ,如果是偶数,使用ROUND_HALF_DOWN
|
static int
|
ROUND_HALF_UP
Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round up.
向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向上舍入, 1.55保留一位小数结果为1.6
|
static int
|
ROUND_UNNECESSARY
Rounding mode to assert that the requested operation has an exact result, hence no rounding is necessary.
计算结果是精确的,不需要舍入模式
|
static int
|
ROUND_UP
Rounding mode to round away from zero.
向远离0的方向舍入
|
分享到:
相关推荐
Java对浮点数的计算是不精确的,比如0.05+0.01结果不是0.06,而是0.060000000000000005,更有甚者,一个数除以0.0,Java是不会抛异常,而是得出无穷大的结果.本工具类解决了上述问题.该类提供了加减乘除四则运算的精确计算...
讲解浮点数载计算机中的表示
Java中的简单浮点数类型float和double不能够进行运算。不光是Java,在其它很多编程语言中也有这样的问题。在大多数情况下,计算的结果是准确的,但是多试几次(可以做一个循环)就可以试出类似上面的错误。
java 浮点数举例java 浮点数举例java 浮点数举例
4.15实验-浮点数的表示及运算
NULL 博文链接:https://xide829.iteye.com/blog/663554
在计算机中有关浮点数转二进制的计算方法,里面讲得很清楚,原来是PPT文档,我已转成PDF的格式,看起来非常舒服。在编程中,特别是一些算法中经常用会一些浮点数的计算
NULL 博文链接:https://wodeguozili.iteye.com/blog/1857761
用java从文件中读取浮点数 已经亲自实践过,没有问题
C语言浮点数的二进制表示
浮点数在计算机中的表示法.pdf
这个类可以当做一个工具类来用,有了这个工具类,以后的浮点数的计算误差就不再是问题了。
该案例演示了浮点数的应用
浮点数在计算机内存中的存储格式
计算机组成原理浮点数表示及运算PPT课件.pptx
IEEE浮点数计算机内二进制表示显示.viIEEE浮点数计算机内二进制表示显示.viIEEE浮点数计算机内二进制表示显示.vi
如果你希望得到精确计算结果,最好是用分数形式来表示小数。有限小数或者无限循环小数都可以转化为分数。比如: 0.9=9/10 0.33(3)=1/3=3/9 给定一个有限小数或者无限循环小数,你能否以分母最小的分数形式返回这个...
[Java]IEEE754浮点数的转换方法,方法都写好了,直接复制过去就可以用了,就这么简单!
一个关于浮点数的计算软件,也就是一个浮点数对应的4字节数值是多少,该软件会帮你显示出来,特别在一个通讯传输,或则在调试算法的时候这个软件还是很有用的
NULL 博文链接:https://spiritfrog.iteye.com/blog/602147