Error: incompatible types: possible lossy conversion from double to float
Error: incompatible types: possible lossy conversion from double to float
我已经 运行 此代码并不断收到错误消息,不知道为什么。双浮?
不断收到消息“错误:不兼容的类型:从 double 到 float 的可能有损转换。”转换有没有问题如何转换所以没有错误
这是更大代码的一部分。
public static float getAreaOfPentagon(float l) {
float area = Math.sqrt(5 * (5 + 2 * (Math.sqrt(5))) * l * l) / 4;
return area;
}
你需要施法。或者将 area
声明为 double
.
float area = (float)(Math.sqrt(5 * (5 + 2 *
(Math.sqrt(5))) * l * l) / 4);
或
double area = Math.sqrt(5 * (5 + 2 *
(Math.sqrt(5))) * l * l) / 4;
旁白:您在同一个等式中混合了整数和浮点数。这通常会导致灾难。使用双文字可能更好。
double area = Math.sqrt(5.0 * (5.0 + 2.0 *
(Math.sqrt(5.0))) * l * l) / 4.0;
我已经 运行 此代码并不断收到错误消息,不知道为什么。双浮? 不断收到消息“错误:不兼容的类型:从 double 到 float 的可能有损转换。”转换有没有问题如何转换所以没有错误 这是更大代码的一部分。
public static float getAreaOfPentagon(float l) {
float area = Math.sqrt(5 * (5 + 2 * (Math.sqrt(5))) * l * l) / 4;
return area;
}
你需要施法。或者将 area
声明为 double
.
float area = (float)(Math.sqrt(5 * (5 + 2 *
(Math.sqrt(5))) * l * l) / 4);
或
double area = Math.sqrt(5 * (5 + 2 *
(Math.sqrt(5))) * l * l) / 4;
旁白:您在同一个等式中混合了整数和浮点数。这通常会导致灾难。使用双文字可能更好。
double area = Math.sqrt(5.0 * (5.0 + 2.0 *
(Math.sqrt(5.0))) * l * l) / 4.0;