BigDecimal类型

BigDecimal - 数字类型

定义BigDecimal:BigDecimal b

例:

BigDecimal b = 0.01

BigDecimal类型的静态方法:

  • BigDecimal.of(<String value>)
  • BigDecimal.of(<Number value>)

保留小数:

  • b.setScale(小数位数,BigDecimal.ROUND_HALF_UP) 四舍五入
  • b.setScale(小数位数,BigDecimal.ROUND_HALF_DOWN) 舍弃部分>5时ROUND_UP,否则ROUND_DOWN
  • b.setScale(小数位数,BigDecimal.ROUND_UP) 不管保留数字后面是大是小(0除外)都会进1
  • b.setScale(小数位数,BigDecimal.ROUND_DOWN) 保留设置数字,后面所有直接去除

例:

BigDecimal a = 3.435
BigDecimal b = a.setScale(2, BigDecimal.ROUND_UP)
BigDecimal c = a.setScale(2, BigDecimal.ROUND_DOWN)
BigDecimal d = a.setScale(2, BigDecimal.ROUND_HALF_UP)
BigDecimal e = a.setScale(2, BigDecimal.ROUND_HALF_DOWN)

log.info(b) //3.44
log.info(c) //3.43
log.info(d) //3.44
log.info(e) //3.43
2022-08-09
8 4