在java处理int、float、double、long等整形或者小数时,如果需要转为Bigdecimal时,一定要先转为字符串,然后再转为Bigdecimal。否则可能出现精度丢失的问题。
在对float,double四舍五入时,不要直接只用以下方法,如果用了,可以试下2000.225保留两位小数。不管用java还是python计算出来都会是2000.22,而不是2000.23
double value = 2000.225; DecimalFormat formatScale2 = new DecimalFormat(""#0.00); String result = formatScale2.format(value);
推荐使用以下方法
double value = 2000.225; BigDeciaml num = new BigDecimal(String.valueof(value)); BigDecimal decimal = num.setScale(2,BigDecimal.Round_HALF_UP);
标签:四舍五入,java,BigDecimal,double,数据类型,2000.225,value,小数位 From: https://www.cnblogs.com/1024llh/p/18512305