為什麼 Java 的整數除法結果是 0.0?
在Java 中將兩個整數相除時,結果通常不是你所期望的:
在這種情況下,您預期百分比為0.33 (或0.333 四捨五入)。然而,您可能會驚訝地發現它實際上返回 0.0。為什麼會出現這種情況?
救援轉換順序
出現這種意外結果的原因在於 Java 執行計算的順序。當您將兩個整數相除時,Java 會自動將它們轉換為雙精度數。但這種轉換只有在執行除法之後才會發生。所以在上面的例子中,計算實際上是這樣完成的:
這會產生雙精確度值 0.0。要解決此問題,您需要在執行除法之前將其中一個操作數明確轉換為float 或double:
現在,首先轉換為float,然後在float 上完成除法值,產生正確的浮點值0.333333。
十進位格式精確度
獲得正確的結果後,您可能需要將其格式化為特定的十進位精確度。您可以使用 String.format() 方法來執行此操作:
這會將百分比變數格式化為具有兩位小數的字串,結果為值 00.33。
以上是為什麼 Java 中的整數除法產生 0.0 而不是小數結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!