<wbr><br><wbr> float <wbr> f <wbr> =<wbr> 34.232323; <wbr><br><wbr> BigDecimal <wbr> b<wbr> = <wbr> new <wbr>BigDecimal(f); <wbr><br><wbr> float <wbr> f1 <wbr> =<wbr> b.setScale(2, <wbr>BigDecimal.ROUND_HALF_UP).floatValue(); <wbr><br><wbr> // <wbr> b.setScale(2,<wbr> BigDecimal.ROUND_HALF_UP) <wbr>表明四舍五入,保留两位小数 <wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
即
float ft = 134.3435f;
int scale = 2;//设置位数
int roundingMode = 4;//表示四舍五入,可以选择其他舍值方式,例如去尾,等等.
BigDecimal bd = new BigDecimal((double)ft);
bd = bd.setScale(scale,roundingMode);
ft = bd.floatValue();
<wbr> 方法2: <wbr></wbr></wbr>
<wbr>import <wbr>java.text.DecimalFormat;<wbr><wbr><wbr><wbr><wbr><wbr><wbr><br><wbr>String <wbr> a <wbr> =<wbr> new <wbr>DecimalFormat("###,###,###.##").format(100.12345 <wbr>);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
即float scale = 34.236323; DecimalFormat fnum = new DecimalFormat("##0.00"); String dd=fnum.format(scale); System.out.println(dd);
方法3:最简单的方法
float a = 123.2334f; float b = (float)(Math.round(a*100))/100;(这里的100就是2位小数点,如果要其它位,如4位,这里两个100改成10000)
本文介绍三种在Java中实现浮点数四舍五入的有效方法,包括使用BigDecimal类、DecimalFormat类及Math类进行精确的数值处理。这些方法适用于不同场景的需求,帮助开发者更好地控制浮点数的精度。
7211

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



