题解 | 单组_保留小数位数
单组_保留小数位数
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));
}
}
查看14道真题和解析