(一): float a = 123.2334f; float b = (float)(Math.round(a*100))/100;(这里的100就是2位小数点,如果要其它位,如4位,这里两个100改成10000) (二): import java.text.DecimalFormat; String a = new DecimalFormat("###,###,###.##").format(100.12345 ); (三): float ft = 134.3435f; int scale = 2;//设置位数 int roundingMode = 4;//表示四舍五入,可以选择其他舍值方式,例如去尾,等等. BigDecimal bd = new BigDecimal((double)ft); bd = bd.setScale(scale,roundingMode); ft = bd.floatValue(); 这几种在打印显示的时候都没问题,但是在数据库中存在的真实值(float字段,上面几种方式在格式化后结果正确,我再转成float后结果就错了)并没有截取成两位小数,例如:0.333333343267441 在我取出数据后转成double后就变成了真实值,而不是0.33 |
|