Java保留两位小数的实现方法
Java保留两位小数的实现方法
采用四舍五入的方式:该方式来自网络
importjava.math.BigDecimal;
importjava.text.DecimalFormat;
importjava.text.NumberFormat;
publicclassformat{
doublef=111231.5585;
publicvoidm1(){
BigDecimalbg=newBigDecimal(f);
doublef1=bg.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f1);
}
/**
*DecimalFormat转换最简便
*/
publicvoidm2(){
DecimalFormatdf=newDecimalFormat("#.00");
System.out.println(df.format(f));
}
/**
*String.format打印最简便
*/
publicvoidm3(){
System.out.println(String.format("%.2f",f));
}
publicvoidm4(){
NumberFormatnf=NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
System.out.println(nf.format(f));
}
publicstaticvoidmain(String[]args){
formatf=newformat();
f.m1();
f.m2();
f.m3();
f.m4();
}
}
结果:
111231.56 111231.56 111231.56 111,231.56
采用非四舍五入的方式:
publicstaticvoidmain(String[]args){
doublefinalMoney=27.989;
System.out.println(finalMoney);
DecimalFormatformater=newDecimalFormat();
formater.setMaximumFractionDigits(2);
formater.setGroupingSize(0);
formater.setRoundingMode(RoundingMode.FLOOR);
System.out.println(formater.format(finalMoney));
}
结果
27.989 27.98
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!