题解 | 单组_保留小数位数

单组_保留小数位数

https://www.nowcoder.com/practice/a4bccea7f4644fbda1208f8e0d397bab

import java.util.*;

import java.io.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String res = br.readLine().trim();
        String[] strs = res.split("\\."); 
        String integer = strs[0];
        String decimal = strs.length > 1 ? strs[1] : "";  // 防止小数部分为空
        if (decimal.length() < 4) {
            for (int i = decimal.length(); i < 4; i++) {
                decimal += "0";
            }
        }
        int num = Integer.parseInt(decimal.substring(0, 3));
        if (decimal.charAt(3) >= '5')
            num += 1;
        // 正好原来是999进位了
        if (num == 1000) {
            integer = String.valueOf(Integer.parseInt(integer) + 1);
            num = 0;
        }
        System.out.println(integer + '.' + String.format("%03d", num));
    }
}

全部评论

相关推荐

xtu大迫杰:偶遇校友,祝校友offer打牌
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务