首页 > 试题广场 >

单组_保留小数位数

[编程题]单组_保留小数位数
  • 热度指数:8659 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个小数 n ,请你保留 3 位小数后输出。
如果原来的小数位数少于 3 ,需要补充 0
如果原来的小数位数多于 3 ,需要四舍五入到 3 位。

输入描述:
第一行有一个小数 n\ (\ 1 \leq n \leq 10^9\ )


输出描述:
输出一个小数,保留 3 位。
示例1

输入

1.23

输出

1.230
示例2

输入

114.514

输出

114.514
示例3

输入

123

输出

123.000
114.514    ( 恼
发表于 2025-01-18 16:06:57 回复(0)
import java.text.DecimalFormat;
import java.time.format.FormatStyle;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        double i = in.nextDouble();
        System.out.println(String.format("%.3f",i));
    }
}
发表于 2024-09-27 17:17:47 回复(0)
print(f"{float(input()):0.3f}")


发表于 2024-12-04 12:17:07 回复(0)
这道题式考察对于输出格式的把控,acm很多题都会有此限制,对此我们需要对于iomanip有一个精准的了解。
首先呢,iomanip是一个头文件,由“io”与“manip”构成,"input and output",以及"manipulate"这个单词的意思主要是操纵。合起来这个头文件主要作用含义就两个字——操纵。
其次,这个头文件中有两个重要的可用成员,一个是fixed,另一个是setprecision(int),第一个的作用表明了修正数据,第二个作用就是设置精确度的长度。
最后,奉上代码
#include<iostream>
#include<iomanip>

using namespace std;

int main(){
    double a;
    cin >> a;
    cout << fixed << setprecision(3) << a << endl;

    return 0;
}


发表于 2024-10-22 16:24:13 回复(1)
using System;
public class Program {
    public static void Main() {
        //获取输入
        string line = System.Console.ReadLine ();

        //查找小数点位置
        int index = line.IndexOf('.');

        if (index == -1 ) { //没找到,是整数,要补三个0
            line += ".000";
        } else if (line.Length - 1 - index < 3) { //小数位数少于 3 ,需要补充 0
            int n = 3 - (line.Length - 1 - index); //补的数量
            for (int i = 0; i < n; i++)
                line += "0";
        } else if (line.Length - 1 - index >
                   3) { //小数位数大于 3 ,需要四舍五入
            double number =  double.Parse(line);
            number = Math.Round(number, 3);
            line = number.ToString();
        }

        System.Console.WriteLine(line);

    }
}

发表于 2025-04-06 16:06:41 回复(0)
int main() {
double a;
cin >> a;
printf("%.3f",a);
}
发表于 2025-06-02 15:42:50 回复(0)
#include <cstdio>
#include <iostream>
using namespace std;

int main() {
    double a;
    while (cin >> a) { // 注意 while 处理多个 case
        printf("%.3lf",a);
    }
}
发表于 2025-05-28 20:41:17 回复(0)
double d = in.nextDouble();
        System.out.println(String.format("%.3f",d));

发表于 2025-04-19 10:52:26 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);        
        double i = in.nextDouble();
        System.out.printf("%.3f", i);
    }
}
发表于 2025-04-14 16:40:06 回复(0)
#include <stdio.h>
int main(){
    float n;
    scanf("%f", &n);
    printf("%.3f", n);
    return 0;
}
发表于 2025-03-17 19:38:02 回复(0)
#include<stdio.h>
int  main(void)
{
    double  n;
    scanf("%lf",&n);
    printf("%.3lf",n);
    return  0;
}
发表于 2025-02-24 21:06:12 回复(0)
#include <cstdio>
#include <iostream>
using namespace std;

int main() {
    float a;
    cin>>a;
    printf("%.3f",a);

  return 0;
}
发表于 2025-02-12 16:39:31 回复(0)
import java.text.DecimalFormat;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        float n = in.nextFloat();
        // 使用DecimalFormat 格式化小数,保留3位小数
        DecimalFormat df = new DecimalFormat("0.000");
        String s = df.format(n);
        System.out.println(s);
        in.close();
    }
}

发表于 2024-10-20 11:13:50 回复(0)
n = float(input())
# 打印结果  
print(f"{n:0.3f}")  
发表于 2024-09-08 23:50:20 回复(0)
import sys for line in sys.stdin:
    a = line.split()  print('{0:0.3f}' .format(float(a[0])))  print(f'{float(a[0]):0.3f}')


发表于 2024-09-08 21:39:09 回复(0)