美文网首页
类型转换截尾与舍入

类型转换截尾与舍入

作者: 小贱嘎嘎 | 来源:发表于2017-06-09 17:42 被阅读0次

    如果将一个浮点数转化为整数的话,Java会如何处理呢

    public class T {
    
    public static void main(String [] args){
        float fa = 0.4f;
        float fb = 0.7f;
        
        double da = 0.4;
        double db = 0.7;
        
        System.out.println("Float to int below:"+(int)fa);
        System.out.println("Float to int above:"+(int)fb);
        System.out.println("Double to int below:"+(int)da);
        System.out.println("Double to int above:"+(int)db);
    }
    
    }
    

    输出结果

    Float to int below:0
    Float to int above:0
    Double to int below:0
    Double to int above:0
    

    这里可以看出不论是float还是double,在转化为int时会被截尾(小数点后面的都被截断),那么要怎么才能得到四舍五入的结果呢?这就得用到Math.round()方法了

    public class T {
    
    public static void main(String [] args){
        float fa = 0.4f;
        float fb = 0.7f;
        
        double da = 0.4;
        double db = 0.7;
        
        System.out.println("Float to int below:"+Math.round(fa));
        System.out.println("Float to int above:"+Math.round(fb));
        System.out.println("Double to int below:"+Math.round(da));
        System.out.println("Double to int above:"+Math.round(db));
    }
    
    }
    

    输出结果

    Float to int below:0
    Float to int above:1
    Double to int below:0
    Double to int above:1

    相关文章

      网友评论

          本文标题:类型转换截尾与舍入

          本文链接:https://www.haomeiwen.com/subject/eoefqxtx.html