一
java.text.DecimalFormat df=new java.text.DecimalFormat("#.##");
double d=3.14159;
System.out.println(df.format(d));
二
java.math.BigDecimal
BigDecimal bd = new BigDecimal("3.14159265");
bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP);
三
class Test1{
public static void main(String[] args){
double ret = convert(3.14159);
System.out.println(ret);
}
static double convert(double value){
long l1 = Math.round(value*100); //四舍五入
double ret = l1/100.0; //注意:使用 100.0 而不是 100
return ret;
}
}
四
double d = 13.4324;
d=((int)(d*100))/100;
我觉得第二种方法更好.
本文介绍四种在Java中实现保留小数点后两位的方法,并对比了它们的优劣。第一种使用DecimalFormat格式化输出;第二种利用BigDecimal进行数学运算;第三种采用Math类的round方法配合自定义转换函数;第四种直接通过类型转换实现。
8986

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



