保留小数的方法有很多,这里给出4种,但是重点的讲一种:
舍入模式:
先其他三种(四舍五入):
01 double f = 11.2233;
02
03
public void m2() {
04
DecimalFormat df = new DecimalFormat("#.00");
05
System.out.println(df.format(f));
06
}
07
08
public void m3() {
09
System.out.println(String.format("%.2f", f));
10
}
11
12
public void m4() {
13
NumberFormat nf = NumberFormat.getNumberInstance();
14
nf.setMaximumFractionDigits (2);
15
System.out.println(nf.format(f));
16
}
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
不解释,代码有引用部分。不过自己尝试了记得import
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
然后重点的一种:
1 public void m1() {
2
BigDecimal bg = new BigDecimal(f);
3
double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
4
System.out.println(f1);
5 }
2
3
4
5
这种我最推荐是因为它能控制舍入:这里的ROUND_HALF_UP是四舍五入
然后
舍入模式ROUND_CEILING: 接近正无穷大的舍入
舍入模式ROUND_DOWN: 接近于0的舍入
舍入模式ROUND_UP : 远离0的舍入
舍入模式ROUND_FLOOR: 接近负无穷大的舍入
舍入模式ROUND_HALF_DOWN:
向最接近的数字舍入,如果与两个相邻数字的距离相等,则为ROUND_DOWN舍入模式。
舍入模式ROUND_HALF_EVEN: 向最接近的数字舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。
舍入模式ROUND_HALF_UP :四舍五入
这种能控制的舍入绝对非常方便。。。