码迷,mamicode.com
首页 > 其他好文 > 详细

蓝桥杯入门训练——圆的面积(保留小数位)

时间:2018-01-26 11:04:42      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:设置   训练   set   参数   oat   format   sys   dig   system   

这一题主要是考察四舍五入,保留小数点后n位

技术分享图片

 

以下是找到的几个保留小数7位的方法

 方法一:使用DecimalFormat类

//1.#.00 表示两位小数 #.0000四位小数 以此类推...    
        double d1=3.14159265358979323;  
        DecimalFormat  df=new DecimalFormat("#.0000000");  
        String dd1=df.format(d1);   //返回的是一个String类型的值  
        System.out.println(Double.parseDouble(dd1));//结果是四舍五入3.1415926 

方法二:使用BigDecimal类的setScale方法

   double d2=3.14159265358979323;  
   BigDecimal bd=new BigDecimal(d2);  
   double dd2=bd.setScale(7,BigDecimal.ROUND_HALF_UP).doubleValue();//参数:ROUND_HALF_UP--四舍五入  
    System.out.println(dd2);  

方法三:使用setMaximumFractionDigits方法

//3.结果也是四舍五入  
        double d3=3.14159265358979323;  
        NumberFormat nf=NumberFormat.getNumberInstance();  
        nf.setMaximumFractionDigits(7);//设置要保留的数位  
        String s=nf.format(d3);  
        System.out.println(s);  

方法四:通过类型转换(不能四舍五入)

//5 先*100转成int再除以100.0(是100的小数类型),同理 3位的话就是1000   
double  d5=3.14159265358979323;  
d5=((int)(d5*10000000))/10000000.0;  
System.out.println(d5);  //不能四舍五入  3.1415926

 

 方法五:利用Math.round()实现

//round(double a)  返回最接近参数的 long。
//round(float a)   返回最接近参数的 int。
double d5=3.14159265358979323;
double dd5=Math.round(d5*10000000);  
        double dd5=d5/10000000;//保留2位 就是*100 ,再/100 
        System.out.println(dd5);  //结果是四舍五入

 

蓝桥杯入门训练——圆的面积(保留小数位)

标签:设置   训练   set   参数   oat   format   sys   dig   system   

原文地址:https://www.cnblogs.com/Lucky-2-child/p/8358126.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!