欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

NET里兩個(gè)double相加為什么是1.3+0.1=1.4000001?

對(duì)于開(kāi)發(fā)者而言,或多或少都聽(tīng)前輩們提及過(guò):不要對(duì)浮點(diǎn)數(shù)進(jìn)行比較!其實(shí)不管是什么編程語(yǔ)言,只要涉及到浮點(diǎn)數(shù)的加減乘除運(yùn)算,其結(jié)果都會(huì)偏離預(yù)期!這一點(diǎn)應(yīng)該作為常識(shí)銘記于心。

浮點(diǎn)數(shù)存在精度丟失現(xiàn)象

不管是單精度浮點(diǎn)數(shù)還是雙精度浮點(diǎn)數(shù),它們都無(wú)法精確表示數(shù)值。任何數(shù)據(jù)在計(jì)算機(jī)中都是以二進(jìn)制存儲(chǔ)的,二進(jìn)制浮點(diǎn)數(shù)并不能精確表示類似0.5這樣的小數(shù),通俗的說(shuō)就是:小數(shù)的二進(jìn)制并不一定是精確的(比如說(shuō)十進(jìn)制不能精確表示1/3,同理二進(jìn)制也不能精確表示1/3)。

一個(gè)小數(shù)要進(jìn)入計(jì)算機(jī)中要經(jīng)過(guò)幾個(gè)步聚:

  • Step1:轉(zhuǎn)換為二進(jìn)制

  • Step2:用二進(jìn)制科學(xué)計(jì)算法表示

  • Step3:表示成IEEE754形式(幾乎所有編程語(yǔ)言的浮點(diǎn)數(shù)都是采用IEEE標(biāo)準(zhǔn)的)

在第一步和第三步時(shí),都會(huì)存在丟失精度的可能,然后再將兩個(gè)浮點(diǎn)數(shù)進(jìn)行數(shù)學(xué)運(yùn)算,結(jié)果會(huì)更加偏離預(yù)期。

浮點(diǎn)數(shù)精度丟失解決方案

特別是在金融類項(xiàng)目中,不可避免會(huì)出現(xiàn)一些小數(shù),此時(shí)我們絕對(duì)要禁止使用浮點(diǎn)數(shù)來(lái)表示這些小數(shù),而應(yīng)該改為Decimal庫(kù)來(lái)存儲(chǔ)小數(shù)。

以上就是我的觀點(diǎn),對(duì)于這個(gè)問(wèn)題大家是怎么看待的呢?歡迎在下方評(píng)論區(qū)交流~我是科技領(lǐng)域創(chuàng)作者,十年互聯(lián)網(wǎng)從業(yè)經(jīng)驗(yàn),我了解更多科技知識(shí)!