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

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

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

时间: 2024-10-09 15:46:10

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

蓝桥杯-- 入门训练 圆的面积

入门训练 圆的面积 时间限制:1.0s   内存限制:256.0MB 问题描述 给定圆的半径r,求圆的面积. 输入格式 输入包含一个整数r,表示圆的半径. 输出格式 输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积. 说明:在本题中,输入是一个整数,但是输出是一个实数. 对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误. 实数输出的问题如果没有特别说明,舍入都是按四

【蓝桥杯】 入门训练 圆的面积

入门训练 圆的面积 时间限制:1.0s   内存限制:256.0MB 问题描述 给定圆的半径r,求圆的面积. 输入格式 输入包含一个整数r,表示圆的半径. 输出格式 输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积. 说明:在本题中,输入是一个整数,但是输出是一个实数. 对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误. 实数输出的问题如果没有特别说明,舍入都是按四

蓝桥杯:入门训练 圆的面积【JAVA算法实现】

题目描述 给定圆的半径r,求圆的面积. 输入格式 输入包含一个整数r,表示圆的半径 输出格式 输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积. 说明:在本题中,输入是一个整数,但是输出是一个实数. 对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误. 实数输出的问题如果没有特别说明,舍入都是按四舍五入进行. 样例输入 4 样例输出 50.2654825 数据规模与约

蓝桥杯 入门训练 Fibonacci数列(Java)

@Author : qingdujun 入门训练 Fibonacci数列  : http://lx.lanqiao.org/problem.page?gpid=T4 import java.util.Scanner; /** * 蓝桥杯: 入门训练 Fibonacci数列 * @author qingdujun * */ public class Main { public static void main(String[] args) { int f1 = 1; int f2 = 1; int

蓝桥杯入门训练——Fibonacci数列

果然是好长时间没有刷题,脑袋都秀逗了.所以说刷题是日常必需品,不能断啊, 因为蓝桥杯还有一个月左右时间,所以又开始了我的刷题道路,但是自从到了4208之后就没太怎么刷题了,也就是说有一个学期没有刷题了. 真的是有些简单的题在很多简单的地方又错了. 从现在开始要经常刷题,摆在你面前的就是刷刷刷!!! 蓝桥网练习系统入门训练 就没有让我省心. 难道是智商又退了吗. 这道题我硬是交了四五遍啊!!! 第一遍 超时  直接计算出了f(n)然后再求的模10007, 原来是我把题目想的太简单了! #inclu

蓝桥杯-入门训练

问题描述 给定圆的半径r,求圆的面积. 输入格式 输入包含一个整数r,表示圆的半径. 输出格式 输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积. 说明:在本题中,输入是一个整数,但是输出是一个实数. 对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误. 实数输出的问题如果没有特别说明,舍入都是按四舍五入进行. 样例输入 4 样例输出 50.2654825 数据规模与

蓝桥杯入门训练

一.Fibonacci数列[注意:此题的做法就是禁止直接算出和再进行取余,这样会造成运行超时] 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n. 输出格式 输出一行,包含一个整数,表示Fn除以10007的余数. 说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以1

蓝桥杯-入门训练 序列求和

入门训练 序列求和 时间限制:1.0s   内存限制:256.0MB 问题描述 求1+2+3+...+n的值. 输入格式 输入包括一个整数n. 输出格式 输出一行,包括一个整数,表示1+2+3+...+n的值. 样例输入 4 样例输出 10 样例输入 100 说明:有一些试题会给出多组样例输入输出以帮助你更好的做题. 一般在提交之前所有这些样例都需要测试通过才行,但这不代表这几组样例数据都正确了你的程序就是完全正确的,潜在的错误可能仍然导致你的得分较低. 样例输出 5050 数据规模与约定 1

蓝桥杯-入门训练-A+B问题

入门训练 A+B问题 时间限制:1.0s   内存限制:256.0MB 问题描述 输入A.B,输出A+B. 说明:在"问题描述"这部分,会给出试题的意思,以及所要求的目标. 输入格式 输入的第一行包括两个整数,由空格分隔,分别表示A.B. 说明:"输入格式"是描述在测试你的程序时,所给的输入一定满足的格式. 做题时你应该假设所给的输入是一定满足输入格式的要求的,所以你不需要对输入的格式进行检查.多余的格式检查可能会适得其反,使用你的程序错误. 在测试的时候,系统会自