第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java 為什么我的雙數(shù)在最后得到數(shù)字

Java 為什么我的雙數(shù)在最后得到數(shù)字

湖上湖 2021-07-08 17:08:28
很難解釋,但就是這樣。在java代碼中,我使用了一個雙數(shù),但這個數(shù)字最后得到的數(shù)字非常小,我不想要。也許我需要用更好的方法來得到剩余的。這是代碼:public class MyClass {  public static void main(String args[]) {            String vRetour = "";    Boolean valeurTrouve = false;           double chiffre = .08 ;    double valeurTravailDouble = 0;    long vIntegerPart = 0;    while (! valeurTrouve) {        for (int i = 0; i<101;i++) {            valeurTravailDouble = chiffre * 8;            vIntegerPart = (long) valeurTravailDouble;            vRetour = vRetour + vIntegerPart;            if ((valeurTravailDouble - vIntegerPart) == 0) {                valeurTrouve = true;                break;            }            chiffre = (valeurTravailDouble - vIntegerPart);                    System.out.println(i + " = " + chiffre);        }    }}}問題是在最后,我有像第 1 行那樣不需要的數(shù)字,最后我有一個 1。在第 2 行之后,我有一個 9。但是這個數(shù)字的增加和增加在第 17 行給我?guī)砹藟奶帲驗樗黾恿顺蔀槲姨柎a的一部分。0 = 0.641 = 0.12000000000000012 = 0.96000000000000093 = 0.68000000000000684 = 0.440000000000054575 = 0.52000000000043666 = 0.160000000003492467 = 0.28000000002793978 = 0.240000000223517429 = 0.920000001788139310 = 0.3600000143051147511 = 0.88000011444091812 = 0.0400009155273437513 = 0.3200073242187514 = 0.5600585937515 = 0.4804687516 = 0.8437517 = 0.75怎么了,如何在不保留數(shù)字末尾的情況下處理 double ?
查看完整描述

3 回答

?
holdtom

TA貢獻1805條經(jīng)驗 獲得超10個贊

眾所周知,Java 無法正確“添加”。您應該嘗試在代碼中較早地舍入數(shù)字并限制小數(shù)位以防止出現(xiàn)錯誤。用于import java.math.BigDecimal在完成計算之前進行四舍五入。

查看完整回答
反對 回復 2021-07-29
?
慕妹3242003

TA貢獻1824條經(jīng)驗 獲得超6個贊

這不是Java的問題。一般來說,這是計算機中浮點數(shù)的硬件表示問題。Java 并沒有向您“隱藏”這個事實。

該表示有兩個部分。尾數(shù)和指數(shù)。

FP 數(shù)然后表示為M * 2 ^ E。

現(xiàn)在想象一下這個表示中的數(shù)字 0.1,限制為 3 位(2 + 符號)。要表示的最小片段是 2^-3,即 0.128。因此,嘗試表示 0.1 最終會得到 0.128。使用計算機,精度要大得多,但仍然有限。所以你可以得到更小的差異。

為了證明更大的差異,現(xiàn)在想象 0.1*10 轉換為“我們用 4 位指數(shù)表示,我們得到 0.128*10 = 1.28 !

這是計算機中 FP 數(shù)字的普遍問題。這就是為什么不推薦使用例如比較 FP 數(shù)字的原因a == b


查看完整回答
反對 回復 2021-07-29
  • 3 回答
  • 0 關注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號