繁体   English   中英

可能会丢失java中的精度错误

[英]possible loss of precision error in java

这是我的代码:

class test{

    public static void main(String arg[]){

        int a=10, b=20;
        float c = 30.123;
        int e = (int)c;
        System.out.println(e);

    }
}

我收到这个错误:

test.java:6: error: possible loss of precision
        float c = 30.123;
                  ^
required: float
found:    double
1 error

为什么这些?

浮点文字默认为double类型。 将double值赋给float类型会导致一些精度错误。 您可以将ctype更改为double ,或者在其末尾附加f以使其float如下所示:

float c = 30.123f;

如果在结尾处指定不带f的float值,则将其视为double ,这是默认值。

double d = 30.123;

对于float literal,您应该在float值的末尾附加f。

float c = 30.123f;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM