[英]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类型会导致一些精度错误。 您可以将c
的type
更改为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.