Java:double类型保留两位小数
的有关信息介绍如下:Java开发,double类型的数据保留两位小数。
下面是五种处理方法,使double类型的数据保留2位小数。
/*具体代码*/
importjava.math.BigDecimal;
importjava.math.RoundingMode;
importjava.text.DecimalFormat;
publicclassTest{
double[]num={3.4567,3,0.4567,2343.333,133,3.1415};
publicvoidfunc(){
inti=1;
for(doubled:num){
System.out.println("测试"+(i++)+"="+d);
Stringdstr=String.valueOf(d);
//第一种:
java.text.DecimalFormatdf=newjava.text.DecimalFormat("#.##");
System.out.println("第一种="+df.format(d));
//第二种:通过下面的结果可以看出,一二两种都可以,第一种如果小数部分是0的话就只显示整数,第二种始终显示两位小数
BigDecimalbd=newBigDecimal(dstr);
bd=bd.setScale(2,BigDecimal.ROUND_HALF_UP);
System.out.println("第二种="+bd);
//第三种:
longl=Math.round(d*100);//四舍五入
doubleret=l/100.0;//注意:使用100.0而不是100
System.out.println("第三种="+ret);
//第四种:
d=((int)(d*100))/100;
System.out.println("第四种="+d);
//第五种
DecimalFormatdf2=newDecimalFormat("#.00");
//df2.setRoundingMode(RoundingMode.HALF_UP);
System.out.println("第五种="+df2.format(d));
System.out.println("-------------------------风骚的java分割线---------------------------");
}
}
publicstaticvoidmain(String[]args){
Testt=newTest();
t.func();
}
}
运行结果:
测试1 = 3.4567
第一种=3.46
第二种=3.46
第三种=3.46
第四种=3.0
第五种=3.00
-------------------------风骚的java分割线---------------------------
测试2 = 3.0
第一种=3
第二种=3.00
第三种=3.0
第四种=3.0
第五种=3.00
-------------------------风骚的java分割线---------------------------
测试3 = 0.4567
第一种=0.46
第二种=0.46
第三种=0.46
第四种=0.0
第五种=.00
-------------------------风骚的java分割线---------------------------
测试4 = 2343.333
第一种=2343.33
第二种=2343.33
第三种=2343.33
第四种=2343.0
第五种=2343.00
-------------------------风骚的java分割线---------------------------
测试5 = 133.0
第一种=133
第二种=133.00
第三种=133.0
第四种=133.0
第五种=133.00
-------------------------风骚的java分割线---------------------------
测试6 = 3.1415
第一种=3.14
第二种=3.14
第三种=3.14
第四种=3.0
第五种=3.00
-------------------------风骚的java分割线---------------------------
通过执行结果可以看出,一二两种都可以,第一种如果小数部分是0的话就只显示整数,第二种始终显示两位小数。可以根据自己的需要进行选择。