Android 错误:(415,32)返回(浮点)Math.sqrt(x*x+;y*y);
我使用Android SDK 23棉花糖来确定前两个手指之间的距离Android 错误:(415,32)返回(浮点)Math.sqrt(x*x+;y*y);,android,Android,我使用Android SDK 23棉花糖来确定前两个手指之间的距离 private float spacing(WrapMotionEvent event) { // ... float x = event.getX(0) - event.getX(1); float y = event.getY(0) - event.getY(1); return (Float)Math.sqrt (x * x + y * y);
private float spacing(WrapMotionEvent event) {
// ...
float x = event.getX(0) - event.getX(1);
float y = event.getY(0) - event.getY(1);
return (Float)Math.sqrt (x * x + y * y);
}
警告信息
错误:(415,32)错误:不兼容的类型:无法将double转换为Float
Math.sqrt
返回一个double
,即使输入是float
您不能将double
转换为Float
(包装类型),除非显式地通过Float
(原语类型)。。。但这没关系,因为您实际上不想要Float
。方法的返回类型是float
,因此只需转换为该类型即可:
return (float) Math.sqrt(x * x + y * y);
如果方法的返回类型是
Float
,则仍然可以使用同一行代码,并让编译器将自动装箱从Float
添加到Float
,Math。即使输入是Float
,sqrt
也会返回一个double
您不能将double
转换为Float
(包装类型),除非显式地通过Float
(原语类型)。。。但这没关系,因为您实际上不想要Float
。方法的返回类型是float
,因此只需转换为该类型即可:
return (float) Math.sqrt(x * x + y * y);
如果方法的返回类型是Float
,那么仍然可以使用相同的代码行,并让编译器将自动装箱从Float
添加到Float