您的位置首页生活百科

Java:double类型保留两位小数

Java:double类型保留两位小数

的有关信息介绍如下:

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的话就只显示整数,第二种始终显示两位小数。可以根据自己的需要进行选择。