Math.floor()
通过该函数计算后的返回值是舍去小数点后的数值
如:Math.floor(3.2)返回3
Math.floor(3.9)返回3
Math.floor(3.0)返回3
Math.ceil()
ceil函数只要小数点非0,将返回整数部分+1如:Math.ceil(3.2)返回4
Math.ceil(3.9)返回4
Math.ceil(3.0)返回3
0和#都是占位符,但在不同的地方,作用不一样
0:
比实际数字的位数多,不足的地方用0补上。
new DecimalFormat("00.00").format(3.14) //结果:03.14
new DecimalFormat("0.000").format(3.14) //结果: 3.140
new DecimalFormat("00.000").format(3.14) //结果:03.140
比实际数字的位数少:整数部分不改动,小数部分,四舍五入
new DecimalFormat("0.000").format(13.146) //结果:13.146
new DecimalFormat("00.00").format(13.146) //结果:13.15
new DecimalFormat("0.00").format(13.146) //结果:13.15
#:
比实际数字的位数多,不变。
new DecimalFormat("##.##").format(3.14) //结果:3.14
new DecimalFormat("#.###").format(3.14) //结果: 3.14
new DecimalFormat("##.###").format(3.14) //结果:3.14
比实际数字的位数少:整数部分不改动,小数部分,四舍五入
new DecimalFormat("#.###").format(13.146) //结果:13.146
new DecimalFormat("##.##").format(13.146) //结果:13.15
new DecimalFormat("#.##").format(13.146) //结果:13.15
4种方法,都是四舍五入,例:importjava.math.BigDecimal;importjava.text.DecimalFormat;importjava.text.NumberFormat;public classformat {double f = 111231.5585;public voidm1() {
BigDecimal bg= newBigDecimal(f);double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f1);
}/*** DecimalFormat转换最简便*/
public voidm2() {
DecimalFormat df= new DecimalFormat("#.00");
System.out.println(df.format(f));
}/*** String.format打印最简便*/
public voidm3() {
System.out.println(String.format("%.2f", f));
}public voidm4() {
NumberFormat nf=NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
System.out.println(nf.format(f));
}public static voidmain(String[] args) {
format f= newformat();
f.m1();
f.m2();
f.m3();
f.m4();
}
}//还有一种直接向上取整数
Math.floor()
通过该函数计算后的返回值是舍去小数点后的数值
如:Math.floor(3.2)返回3
Math.floor(3.9)返回3
Math.floor(3.0)返回3
Math.ceil()
ceil函数只要小数点非0,将返回整数部分+1如:Math.ceil(3.2)返回4
Math.ceil(3.9)返回4
Math.ceil(3.0)返回3