Java BigDecimal 小数点位数限制 - setScale 方法详解
要限制 BigDecimal 对象的小数点位数,可以使用 setScale 方法来设置它的精度。setScale 方法接受两个参数:精度和舍入模式。
例如,要将 BigDecimal 对象的小数点保留两位,可以使用以下代码:
BigDecimal number = new BigDecimal('10.12345');
BigDecimal roundedNumber = number.setScale(2, RoundingMode.HALF_UP);
在这个例子中,setScale 方法将小数点位数设置为 2,并使用 RoundingMode.HALF_UP 舍入模式进行舍入。结果将是一个新的 BigDecimal 对象 roundedNumber,它的值为 10.12。
以下是一些常见的舍入模式:
- RoundingMode.UP:向上舍入
- RoundingMode.DOWN:向下舍入
- RoundingMode.HALF_UP:四舍五入(如果小数部分大于等于 0.5,则向上舍入,否则向下舍入)
- RoundingMode.HALF_DOWN:四舍五入(如果小数部分大于 0.5,则向上舍入,否则向下舍入)
- RoundingMode.HALF_EVEN:四舍五入(如果小数部分大于 0.5,则向上舍入,如果小数部分等于 0.5,则向偶数舍入,否则向下舍入)
请注意,setScale 方法返回一个新的 BigDecimal 对象,而不是修改原始对象。因此,在使用 setScale 方法后,应该将结果赋给一个新的 BigDecimal 对象。
原文地址: https://www.cveoy.top/t/topic/qqOa 著作权归作者所有。请勿转载和采集!