题解 | #四舍五入#
四舍五入
https://www.nowcoder.com/practice/cae89de6292b4084acb93659353260e0
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double d= scanner.nextDouble();
//write your code here......
/*
方法一:
int i = (int)(d + 0.5);
或者
int i = (int)Math.round(d);
但是这样遇到像 14.49 这样的输入就不行,输出为 14 ,并没有
从小数点后第二位开始进位
*/
//改进方法二:
//以 14.49 为例,第一步先将14.49 * 10 + 0.5 = 144.9 + 0.5进位,
//得145.54
double one = (d * 10 + 0.5);
//第二步145.4 / 10 + 0.5 = 14.54 +0.5进位,得15.04
double two = ((one / 10) + 0.5);
//int强制转换的15
int i = (int)two;
System.out.println(i);
}
}
