题解 | #四舍五入#

四舍五入

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);
    }
}

全部评论

相关推荐

09-13 08:41
服装/纺织设计
那一天的Java_J...:你第一次参加面试吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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