Java中的float是什么?

我写了这个代码:

float b = 3.6; 

我得到这个:

错误:未解决的编译问题: 
    types不匹配:不能从double转换为float

为什么? 什么是float的定义?

在Java中,当你input一个十进制数字为3.6 ,它被解释为一个doubledouble是一个64位精度的IEEE 754浮点,而float是一个32位精度的IEEE 754浮点。 由于floatdouble精度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中,值如下所示:

  1. 8.5
  2. 3.9
  3. (等等..)

假设是双重的而不是浮动的

您也可以执行演员以解决问题:

float b = (float) 3.5 ;

另一个scheme

float b = 3.5f ;