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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么整數(shù)除法代碼給出了錯(cuò)誤的答案?

為什么整數(shù)除法代碼給出了錯(cuò)誤的答案?

阿晨1998 2019-09-03 20:20:53
我在Java中有一個(gè)非常簡(jiǎn)單的劃分(它是每小時(shí)的產(chǎn)品數(shù)量/產(chǎn)量),但是每當(dāng)我進(jìn)行這個(gè)劃分時(shí),我都會(huì)遇到奇怪的錯(cuò)誤:float res = quantity / standard;我已經(jīng)嘗試了上面的幾個(gè)值的分區(qū),但我總是得到錯(cuò)誤,但是我在其他地方嘗試并且正確的那個(gè)是這樣的:世界各地:13.6 = 6800 / 500;Java的:13.0 = 6800 / 500;我已經(jīng)研究過(guò)BigDecimal和BigInteger,但是我還沒(méi)有找到一種方法來(lái)創(chuàng)建這個(gè)除法,有沒(méi)有其他方法在Java中進(jìn)行這種劃分而沒(méi)有精度錯(cuò)誤?任何幫助將不勝感激。
查看完整描述

3 回答

?
揚(yáng)帆大魚(yú)

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊

你正在劃分整數(shù),這意味著你正在使用整數(shù)除法。


在整數(shù)除法中,結(jié)果的小數(shù)部分被丟棄。


請(qǐng)嘗試以下方法:


float res = (float) quantity / standard;

            ^^^^^^^

上面強(qiáng)制將分子視為一個(gè)float反過(guò)來(lái)促進(jìn)分母浮動(dòng)的分子,并且執(zhí)行浮點(diǎn)除法而不是整數(shù)除法。


請(qǐng)注意,如果您正在處理文字,則可以更改


float f = 6800 / 500;

包含f后綴以使分母成為浮點(diǎn)數(shù):


float f = 6800f / 500;


查看完整回答
反對(duì) 回復(fù) 2019-09-03
?
瀟瀟雨雨

TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊

如果你擔(dān)心精度,我會(huì)建議使用double精度數(shù)位的兩倍以上。然而,浮點(diǎn)僅精確地表示為0.5的冪或冪的分?jǐn)?shù)。這意味著0.6僅近似表示。這不一定是適當(dāng)舍入的問(wèn)題。


double d = (double) 6800 / 500;

要么


double d = 6800.0 / 500;


查看完整回答
反對(duì) 回復(fù) 2019-09-03
?
慕萊塢森

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

就我而言,我這樣做:


double a = (double) (MAX_BANDWIDTH_SHARED_MB/(qCount+1));

而不是“正確”:


double a = (double)MAX_BANDWIDTH_SHARED_MB/(qCount+1);


查看完整回答
反對(duì) 回復(fù) 2019-09-03
  • 3 回答
  • 0 關(guān)注
  • 860 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)