by default, literal float numbers are double, tryfloat c = 1.9F;

解决方案 »

  1.   

    但是为什么float a = 1;就行?
    float a = 1.0;就不行?
    也太奇怪了
      

  2.   

    1默认是int,可以转换成float,但1.0默认是double,不能转化成float
      

  3.   

    具体定义如下:
      float类型的数值有一个后缀F,比如3.402F。如果发现一个浮点数没有F后缀,比如3.402,就表示它默认为精度更高的double类型。至于float a = 1;为什么行,那是因为赋值时,整数1默认为int型,而int类型可以直接向float类型转换,不必要显示造型如float a = (float)1.0;  understand?
      

  4.   

    hehe
    刚刚又加了60分
    总算明白了
    多谢拉