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