Java中的float是什么?
我写了这个代码:
float b = 3.6;
我得到这个:
错误:未解决的编译问题: types不匹配:不能从double转换为float
为什么? 什么是float
的定义?
在Java中,当你input一个十进制数字为3.6
,它被解释为一个double
。 double
是一个64位精度的IEEE 754浮点,而float
是一个32位精度的IEEE 754浮点。 由于float
比double
精度float
小,转换不能隐式执行。
如果你想创build一个浮点数,你应该用f
结尾(即: 3.6f
)。
有关更多解释,请参阅Java教程的基本数据types定义 。
做了
float b= 3.6f;
如果后缀为ASCII字母F或f,则浮点types为floattypes; 否则它的types是双精度的,可以select用ASCII字母D或d作为后缀。
- 阅读更多
事情是,十进制数字默认为两倍。 而且由于double不适合float,所以你必须明确地告诉你有意地定义一个float。 所以去:
float b = 3.6f;
在JAVA中,值如下所示:
- 8.5
- 3.9
- (等等..)
假设是双重的而不是浮动的 。
您也可以执行演员以解决问题:
float b = (float) 3.5
;
另一个scheme
float b = 3.5f
;