计算纵横比返回 0.0
Calculation Aspect Ratio returning 0.0
我正在尝试制作一种方法来计算纵横比以调整某些内容的大小。
public float ARC(int oHeight, int oWidth, float nWidth)
{
float h = (oHeight / oWidth) * (nWidth);
return h;
}
和 运行 我正在使用:
System.out.println(ARC(65, 375, 375));
64 being asigned to oHeight,
375 to oWidth and 375 to nWidth.
但是当我测试代码时,输出是:0.0?
结果应该是 65
(克里斯·马丁 已经回答了这个问题,但他没有 post 回答)
问题是你做的是整数除法,而不是浮点除法,所以当你期望时:
65 / 375 = 0.17...
你实际得到:
65 / 375 = 0
这是因为小数部分被截掉了。您需要将第一个 int
(第一个或第二个,但我发现最易读且最不容易出错)转换为 float
:
float h = ( (float) oHeight / oWidth) * (nWidth);
我正在尝试制作一种方法来计算纵横比以调整某些内容的大小。
public float ARC(int oHeight, int oWidth, float nWidth)
{
float h = (oHeight / oWidth) * (nWidth);
return h;
}
和 运行 我正在使用:
System.out.println(ARC(65, 375, 375));
64 being asigned to oHeight, 375 to oWidth and 375 to nWidth.
但是当我测试代码时,输出是:0.0? 结果应该是 65
(克里斯·马丁
问题是你做的是整数除法,而不是浮点除法,所以当你期望时:
65 / 375 = 0.17...
你实际得到:
65 / 375 = 0
这是因为小数部分被截掉了。您需要将第一个 int
(第一个或第二个,但我发现最易读且最不容易出错)转换为 float
:
float h = ( (float) oHeight / oWidth) * (nWidth);