BigDecimal取整

BigDecimal取整Java中BigDecimal取整方法BigDecimalbd=newBigDecimal(“12.1”);longl=bd.setScale(0,BigDecimal.ROUND_UP).longValue();//向上取整longl=bd.setScale(0,BigDecimal.ROUND_DOWN).longValue();//向下取整*对于正数而言,ROUND_UP=ROUND_CEILING,ROUND_DOWN=ROUND

大家好,欢迎来到IT知识分享网。

Java中BigDecimal取整方法

BigDecimal bd = new BigDecimal("12.1");
long l  = bd.setScale( 0, BigDecimal.ROUND_UP ).longValue(); // 向上取整
long l  = bd.setScale( 0, BigDecimal.ROUND_DOWN ).longValue(); // 向下取整

* 对于正数而言,ROUND_UP  = ROUND_CEILING,ROUND_DOWN = ROUND_FLOOR
各个roundingMode详解如下:
  • ROUND_UP:非0时,舍弃小数后(整数部分)加1,比如12.49结果为13,-12.49结果为 -13
  • ROUND_DOWN:直接舍弃小数
  • ROUND_CEILING:如果 BigDecimal 是正的,则做 ROUND_UP 操作;如果为负,则做 ROUND_DOWN 操作 (一句话:取附近较大的整数)
  • ROUND_FLOOR: 如果 BigDecimal 是正的,则做 ROUND_DOWN 操作;如果为负,则做 ROUND_UP 操作(一句话:取附近较小的整数)
  • ROUND_HALF_UP:四舍五入(取更近的整数)
  • ROUND_HALF_DOWN:跟ROUND_HALF_UP 差别仅在于0.5时会向下取整
  • ROUND_HALF_EVEN:取最近的偶数
  • ROUND_UNNECESSARY:不需要取整,如果存在小数位,就抛ArithmeticException 异常

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/23607.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信