首頁 > Java > java教程 > 為什麼 Java 中的整數除法產生 0.0 而不是小數結果?

為什麼 Java 中的整數除法產生 0.0 而不是小數結果?

Susan Sarandon
發布: 2024-12-26 02:18:14
原創
843 人瀏覽過

Why Does Integer Division in Java Produce 0.0 Instead of a Decimal Result?

為什麼 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板