我正在尝试制作一种方法来计算调整大小的宽高比.
public float ARC(int oHeight, int oWidth, float nWidth)
{
float h = (oHeight / oWidth) * (nWidth);
return h;
}
Run Code Online (Sandbox Code Playgroud)
并运行我正在使用:
System.out.println(ARC(65, 375, 375));
Run Code Online (Sandbox Code Playgroud)
64被指定为oHeight,375被指定为oWidth,375被指定为nWidth.
但是当我测试代码时,输出是:0.0?结果应该是65
(这个问题已经在Chris Martin的两条 评论中得到了回答,但他没有发表回答)
问题是你正在进行整数除法,而不是浮点除法,所以你期望:
65 / 375 = 0.17...
Run Code Online (Sandbox Code Playgroud)
你真的得到:
65 / 375 = 0
Run Code Online (Sandbox Code Playgroud)
这是因为小数部分被切断了.您需要将第一个int(第一个或第二个,但我发现最可读且最不容易出错)转换为float:
float h = ( (float) oHeight / oWidth) * (nWidth);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
141 次 |
| 最近记录: |