java中保留两位小数并要求四舍五入的方法

2024-12-14 06:44:18
推荐回答(2个)
回答1:

double d=2.345;
//格式化为String
String str=String.format("%.2f",d);
System.out.println(str);
//如果需要数字,可以再d = Double.parseDouble(str)

//////////////
BigDecimal bd=new BigDecimal("2.345");//建议使用String参数
BigDecimal bd_half_even = bd.setScale(2,RoundingMode.HALF_EVEN);
BigDecimal bd_half_up = bd.setScale(2,RoundingMode.HALF_UP);
System.out.println(bd_half_even);
System.out.println(bd_half_up);
//HALF_EVEN,HALF_UP是两种不同的四舍五入机制
//BigDecimal默认使用HALF_EVEN
//HALF_UP的效果就是经典的四舍五入
//HALF_EVEN是最科学的四舍五入,但结果和HALF_UP可能会不同

回答2:

我给你提供一个思路,可能不太高明,不过得过。
把你的数×100,%5,判断,/100,搞定。