方法1:用Math.round计算,这里返回的数字格式的.
float price=89.89;
int itemNum=3;
float totalPrice=price*itemNum;
float num=(float)(Math.round(totalPrice*100)/100);//如果要求精确4位就*10000然后/10000
方法2:用DecimalFormat 返回的是String格式的.该类对十进制进行全面的封装.像%号,千分位,小数精度.科学计算.
float price=1.2;
DecimalFormat decimalFormat=new DecimalFormat(".00");//构造方法的字符格式这里如果小数不足2位,会以0补足.
String p=decimalFomat.format(price);//format 返回的是字符串
个人觉得在前台显示金额方面的还是用第二种方式.理由很简单是字符串格式的.
本文介绍了两种在Java中控制浮点数精度的方法:一种是使用Math.round进行数学运算后的四舍五入处理;另一种是利用DecimalFormat类将数字格式化为指定精度的字符串形式,适合用于显示金额等需要精确控制小数位数的场景。
1万+

被折叠的 条评论
为什么被折叠?



