BigDecimal Type

BigDecimal — Number type

Define BigDecimal: BigDecimal b

example:

BigDecimal b = 0.01

Static methods of BigDecimal type:

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

Keep decimals:

  • b.setScale(decimal places, BigDecimal.ROUND_HALF_UP) rounding
  • b.setScale(decimal places,BigDecimal.ROUND_HALF_DOWN) ROUND_UP when discarding part>5, otherwise ROUND_DOWN
  • b.setScale(decimal digits, BigDecimal.ROUND_UP) No matter whether the reserved number is large or small (except 0), it will enter 1
  • b.setScale(decimal places,BigDecimal.ROUND_DOWN) Keep the set number, and remove all the following directly

example:

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
2024-07-12
0 0