1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > double类型保留小数点后两位的几种方法

double类型保留小数点后两位的几种方法

时间:2020-05-22 09:35:51

相关推荐

double类型保留小数点后两位的几种方法

double类型保留小数点后两位的几种方法

返回double类型

返回double类型需要注意的是:如果结果为.10时,输出的值为.1,只保留了一位小数。

//四舍五入double one = (double)Math.round(demo*100)/100;System.out.println("Double,第一种方法的值为:" + one);//BigDecimal.ROUND_HALF_UP表示四舍五入,BigDecimal.ROUND_HALF_DOWN表示五舍六入,//BigDecimal.ROUND_UP表示进位处理(直接加1),BigDecimal.ROUND_DOWN表示直接去掉尾数。BigDecimal bd = new BigDecimal(demo);double two = bd.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();System.out.println("Double,第二种方法的值为:" + two);

返回String类型

返回String类型的第一种方法和第二种方法比较常用。需要注意的是,第三种方法的返回值,每隔一千会加一个“,”即.10的输出结果为2,020.1。

//#.00表示保留后两位,它的处理方式是直接截掉不要的尾数,不要四舍五入。DecimalFormat df = new DecimalFormat("#.00");String three = df.format(demo);System.out.println("String,第一种方法的值为:" + three);//%.2f表示保留小数点后两位,四舍五入。String four = String.format("%.2f",demo);System.out.println("String,第二种方法的值为:" + four);//setMaximumFractionDigits(int newValue)设置数的小数部分所允许的最大位数。NumberFormat nbf = NumberFormat.getNumberInstance();nbf.setMaximumFractionDigits(2);String five = nbf.format(demo);System.out.println("String,第三种方法的值为:" + five);

先看代码:

//double类型保留小数点后两位的几种方法public static void doubleTwo(double demo){System.out.println("测试的值为" + demo);System.out.println("----------返回Double类型--------------");//四舍五入double one = (double)Math.round(demo*100)/100;System.out.println("Double,第一种方法的值为:" + one);//BigDecimal.ROUND_HALF_UP表示四舍五入,BigDecimal.ROUND_HALF_DOWN表示五舍六入,//BigDecimal.ROUND_UP表示进位处理(直接加1),BigDecimal.ROUND_DOWN表示直接去掉尾数。BigDecimal bd = new BigDecimal(demo);double two = bd.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();System.out.println("Double,第二种方法的值为:" + two);System.out.println("----------返回String类型--------------");//#.00表示保留后两位,它的处理方式是直接截掉不要的尾数,不要四舍五入。DecimalFormat df = new DecimalFormat("#.00");String three = df.format(demo);System.out.println("String,第一种方法的值为:" + three);//%.2f表示保留小数点后两位,四舍五入。String four = String.format("%.2f",demo);System.out.println("String,第二种方法的值为:" + four);//setMaximumFractionDigits(int newValue)设置数的小数部分所允许的最大位数。NumberFormat nbf = NumberFormat.getNumberInstance();nbf.setMaximumFractionDigits(2);String five = nbf.format(demo);System.out.println("String,第三种方法的值为:" + five);}

测试结果:

测试double与String类型

测试的值为.1024----------返回Double类型--------------Double,第一种方法的值为:.1Double,第二种方法的值为:.1----------返回String类型--------------String,第一种方法的值为:.10String,第二种方法的值为:.10String,第三种方法的值为:2,020.1

测试四舍五入

测试的值为.1556----------返回Double类型--------------Double,第一种方法的值为:.16Double,第二种方法的值为:.16----------返回String类型--------------String,第一种方法的值为:.16String,第二种方法的值为:.16String,第三种方法的值为:2,020.16测试的值为.1546----------返回Double类型--------------Double,第一种方法的值为:.15Double,第二种方法的值为:.15----------返回String类型--------------String,第一种方法的值为:.15String,第二种方法的值为:.15String,第三种方法的值为:2,020.15

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。