簡體   English   中英

計算寬高比返回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分配給oHeight,375分配給oWidth,375分配給nWidth。

但是當我測試代碼時,輸​​出為:0.0? 結果應該是65

(克里斯·馬丁已經在兩個 評論中回答了這個問題,但他沒有發布答案)

問題是您正在執行整數除法,而不是浮點除法,因此您期望:

65 / 375 = 0.17...  

您實際上得到:

65 / 375 = 0

是因為小數部分被截斷。 您需要將第一個intfloat (無論是第一個還是第二個,但我發現可讀性最高且最不容易出錯):

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM