我已经定义了一个带有一个float类型参数的方法,如下所示:
public float getValue(float value){
return value;
}
当我通过传递下面显示的 10.1201 浮动值来调用此方法时:
float value = methodReturnTest.getValue(10.1201);
我的IDE说要将参数转换为float。我试过搜索但无法得到合适的答案。发布它。 请解释 。
感谢。
答案 0 :(得分:11)
Java将10.1201
作为double
。要传递float
值,您应该将f
添加到其中,如下所示:
float value = methodReturnTest.getValue(10.1201f);
答案 1 :(得分:4)
答案 2 :(得分:3)
Float是单精度32位IEEE 754浮点数 Double是双精度64位IEEE 754浮点。 当您使用带小数点的值时,如果您没有指定为0.23f(特别是浮点数),则java将其标识为double。
对于十进制值,double数据类型通常是java采用的默认选择。 check this
答案 3 :(得分:2)
您必须在浮点数后添加f
。如果不这样做,Java将无法知道该数字是应该被视为float还是double。
float value = methodReturnTest.getValue(10.1201f);