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

Posted lucky-2-child

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蓝桥杯入门训练——圆的面积(保留小数位)相关的知识,希望对你有一定的参考价值。

这一题主要是考察四舍五入,保留小数点后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);  //结果是四舍五入

 

以上是关于蓝桥杯入门训练——圆的面积(保留小数位)的主要内容,如果未能解决你的问题,请参考以下文章

蓝桥杯习题之第2题

入门训练---圆的面积

入门训练-3.圆的面积

蓝桥杯准备

入门训练 圆的面积

蓝桥杯每日一练之圆的面积