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

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

雙對大十世摩?

雙對大十世摩?

眼眸繁星 2019-06-24 10:52:50
雙對大十世摩?我必須計(jì)算一些浮點(diǎn)變量,我的同事建議我使用BigDecimal而不是double因?yàn)樗鼤?huì)更精確。但我想知道這是什么以及如何最大限度地利用BigDecimal?
查看完整描述

3 回答

?
慕桂英546537

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

BigDecimal是表示數(shù)字的精確方法。一個(gè)Double有一定的精確度。與不同大小的雙倍一起工作(比方說)d1=1000.0d2=0.001)可能導(dǎo)致0.001當(dāng)相加時(shí),星等的差異是如此之大。帶著BigDecimal這是不可能的。

缺點(diǎn)BigDecimal是因?yàn)樗俣嚷?,用這種方式編程算法有點(diǎn)困難(原因是+ - */沒有超載)。

如果你正在處理金錢,或者精確是必須的,請使用BigDecimal..不然的話Doubles傾向于足夠好。

我建議你讀一下javadocBigDecimal就像他們比我在這里更好地解釋事情一樣:)


查看完整回答
反對 回復(fù) 2019-06-24
?
繁星淼淼

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

我的英語不好,所以我只寫一個(gè)簡單的例子。

    double a = 0.02;
    double b = 0.03;
    double c = b - a;
    System.out.println(c);

    BigDecimal _a = new BigDecimal("0.02");
    BigDecimal _b = new BigDecimal("0.03");
    BigDecimal _c = _b.subtract(_a);
    System.out.println(_c);

程序輸出:

0.0099999999999999980.01

有人還想用雙倍?)


查看完整回答
反對 回復(fù) 2019-06-24
?
大話西游666

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

有兩個(gè)主要區(qū)別與雙重:

  • 任意精度,類似于BigInteger,它們可以包含任意精度和大小的數(shù)量
  • 基10而不是基2,BigDecimal是n*10^刻度,其中n是任意大有符號整數(shù),小數(shù)位數(shù)可以認(rèn)為是小數(shù)點(diǎn)向左或向右移動(dòng)的數(shù)字?jǐn)?shù)。

您應(yīng)該使用BigDecimal進(jìn)行貨幣計(jì)算的原因不是它可以表示任何數(shù)字,而是它可以表示所有可以用十進(jìn)制概念表示的數(shù)字,并且?guī)缀醢ㄘ泿攀澜缰械乃袛?shù)字(您永遠(yuǎn)不會(huì)將1/3$傳遞給某人)。


查看完整回答
反對 回復(fù) 2019-06-24
  • 3 回答
  • 0 關(guān)注
  • 388 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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