计算宽高比返回0.0

时间:2015-01-14 09:41:08

标签: java aspect-ratio

我正在尝试制作一种方法来计算调整大小的宽高比​​。

public float ARC(int oHeight, int oWidth, float nWidth)
{
    float h = (oHeight / oWidth) * (nWidth);
    return h;
}

并运行我正在使用:

System.out.println(ARC(65, 375, 375));
  

64被归为oHeight,   375到oWidth和375到nWidth。

但是当我测试代码时,输​​出是:0.0? 结果应该是65

1 个答案:

答案 0 :(得分:5)

(这个问题已由Chris Martin在two comments中回答,但他没有发表答案)

问题是你正在做整数除法,而不是浮点除法,所以你期望:

65 / 375 = 0.17...  

你真的得到了:

65 / 375 = 0

这是因为小数部分被切断了。您需要将第一个int(第一个或第二个,但我发现最可读且最不容易出错)转换为float

float h = ( (float) oHeight / oWidth) * (nWidth);