题解 | #实现四舍五入#

实现四舍五入

http://www.nowcoder.com/practice/020a0cf673174d5795d97ae79cff59a0

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        
        double n = in.nextFloat();
        System.out.print(Math.round(n));
        
    }
}
//使用javaAPI提供的方法
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        
        float n = in.nextFloat();
        int asc = (int)n;   //强制转换试试  不会四舍五入。。。
        
        //四舍五入究竟要怎么实现?????强制转换只保留了输入的浮点数的整数部分
        //那么使用原浮点数减去强制转换所得的整数,如果大于0.5,则在整数加一,否则不做任何变化
        //正数可以 但负数就是不行
        if(n>0){
                if (n - asc >= 0.5){
                System.out.println(asc + 1);
            }
            else{
                System.out.println(asc);
            }
        
        }
        else{
            if (asc - n >= 0.5){
            System.out.println(asc -1);
        }
        else{
            System.out.println(asc);
        }
        
        }
        
        
    }
}
//自己实现的笨办法

全部评论

相关推荐

头像
2025-12-27 13:01
三峡大学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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