我在浮点数据类型中采用r = 7.5。它显示以下错误 enter image description here
任何人都可以帮助我显示错误的原因吗?
答案 0 :(得分:1)
在JLS 3.10.2
中,定义浮点文字形式:
A floating-point literal is of type float if it is suffixed with an ASCII
letter F or f;otherwise its type is double and it can optionally be suffixed
with an ASCII letter D or d (§4.2.3).
所以float r=7.5
不正确,因为7.5
是双精度型,因此不会将其分配给浮动类型r
。您可以将其更改为float r=7.5f' or 'double r=7.5
< / p>
答案 1 :(得分:0)
改为写float r = 7.5F;
。 7.5F
是一个float
常量,可以在不损失精度的情况下分配给float
变量。
答案 2 :(得分:0)
值7.5
是双字面值,因此r
值在乘以时会提升为double。将double存储到变量SI将是一个将丢失数据的转换,即double to float
要将数据保持为float,请使用float literal,最后使用f,并在程序中包含所有float变量。