成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

程序中算錢不能用浮點(diǎn)類型是個(gè)什么坑?

lushan / 3637人閱讀

摘要:那如果我們將其換成類型的會(huì)怎么樣呢再來(lái)試試。在企業(yè)開發(fā)中,當(dāng)涉及到錢的計(jì)算時(shí)應(yīng)該使用類型來(lái)處理,尤其是在金融領(lǐng)域,只要和錢有關(guān)的任何邏輯,都是大事,反之沒(méi)那么嚴(yán)重只是沒(méi)那么大。

閱讀本文大概需要 1 分鐘。

先來(lái)考考大家,在下列 Java 代碼中,你覺(jué)得在控制臺(tái)會(huì)打印什么值呢?

貌似難不倒大家,這不是 so easy ,連小學(xué)生都會(huì)算的題目,1.0 - 0.9 = 0.1 啊,但是你覺(jué)得會(huì)等于 0.1 嗎?

看下上圖代碼的輸出結(jié)果:

有沒(méi)有驚訝,有沒(méi)有很刺激,0.0……02 難道被計(jì)算機(jī)吃掉了???

好吧,當(dāng)初我也是這幅表情(原諒我基礎(chǔ)薄弱)。

那如果我們將其換成 float 類型的會(huì)怎么樣呢?再來(lái)試試。

控制臺(tái)打印結(jié)果:

結(jié)果居然多了 0.10…24,那不得樂(lè)開花啊~

那么以上這些現(xiàn)象是為什么呢?

浮點(diǎn)數(shù)在計(jì)算機(jī)中采用二進(jìn)制表示,而二進(jìn)制系統(tǒng)無(wú)法精確表示某些小數(shù),比如 1/10 ,就像十進(jìn)制無(wú)法表示 1/3 一樣,這樣是產(chǎn)生誤差的原因。

在企業(yè)開發(fā)中,當(dāng)涉及到錢的計(jì)算時(shí)應(yīng)該使用 BigDecimal 類型來(lái)處理,尤其是在金融領(lǐng)域,只要和錢有關(guān)的任何邏輯,都是大事,反之沒(méi)那么嚴(yán)重(只是沒(méi)那么大)。

·END·

程序員的成長(zhǎng)之路

路雖遠(yuǎn),行則必至

本文原發(fā)于 同名微信公眾號(hào)「程序員的成長(zhǎng)之路」,回復(fù)「1024」你懂得,給個(gè)贊唄。

往期精彩回顧

碼農(nóng)西游 | 為啥有些大公司技術(shù)弱爆了

此代碼募集最優(yōu)秀的答案

程序員和產(chǎn)品經(jīng)理之間的恩怨情仇

如何優(yōu)雅拒絕產(chǎn)品經(jīng)理的不合理需求

東南亞的招聘騙局,程序員請(qǐng)注意!

select * 和 select 所有字段的區(qū)別

花馬云10億無(wú)作為,被同事罵的當(dāng)眾落淚,后為阿里創(chuàng)造4500億價(jià)值

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/74314.html

相關(guān)文章

  • 前端碎語(yǔ)(2)

    摘要:和并不是一個(gè)標(biāo)準(zhǔn)的屬性,才是,所以火狐長(zhǎng)久以來(lái)都不支持,同時(shí)也不支持。 這個(gè)系列保持開坑不埋的狀態(tài)已經(jīng)過(guò)去三個(gè)月了,而在這幾個(gè)月中我才算第一次認(rèn)真地深入理解js。雖然期間筆記是記了不少,但寫博文又不應(yīng)是簡(jiǎn)單的復(fù)制粘貼,還是得保證有討論價(jià)值、有干貨的。而我面對(duì)的現(xiàn)實(shí)是:一來(lái)基礎(chǔ)差導(dǎo)致識(shí)別和撈出有討論價(jià)值的干貨得自身功夫練到一定階段,二來(lái)又因?yàn)橛浀碾s亂且缺乏日常整理,整理一下就是拖一下,再...

    FrancisSoung 評(píng)論0 收藏0
  • 透徹研究Javascript類型轉(zhuǎn)換

    摘要:注釋空數(shù)組空對(duì)象轉(zhuǎn)換為布爾型也是坑。系統(tǒng)會(huì)在自動(dòng)類型轉(zhuǎn)換的時(shí)候調(diào)用他們,所以我們通常不需要手動(dòng)調(diào)用他們。嚴(yán)格相等不存在類型轉(zhuǎn)換,對(duì)于類型不同的兩個(gè)值直接返回。 Javascript 中有5種基本類型(不包括 symbol),以及對(duì)象類型,他們?cè)诓煌倪\(yùn)算中會(huì)被系統(tǒng)轉(zhuǎn)化為不同是類型,當(dāng)然我們也可以手動(dòng)轉(zhuǎn)化其類型。 Javascript 類型轉(zhuǎn)換中的坑極多,就連 Douglas Crock...

    dailybird 評(píng)論0 收藏0
  • 【轉(zhuǎn)】淺談PHP5中垃圾回收算法(Garbage Collection)的演化

    摘要:所有這些類型,在內(nèi)部統(tǒng)一用一個(gè)叫做的結(jié)構(gòu)表示,在源代碼中這個(gè)結(jié)構(gòu)名稱為。的具體定義在源代碼的文件中,下面是相關(guān)代碼的摘錄。 【轉(zhuǎn)】淺談PHP5中垃圾回收算法(Garbage Collection)的演化 前言 PHP是一門托管型語(yǔ)言,在PHP編程中程序員不需要手工處理內(nèi)存資源的分配與釋放(使用C編寫PHP或Zend擴(kuò)展除外),這就意味著PHP本身實(shí)現(xiàn)了垃圾回收機(jī)制(Garbage C...

    AdolphLWQ 評(píng)論0 收藏0
  • 【JavaScript】核心語(yǔ)法之?dāng)?shù)據(jù)類型

    摘要:數(shù)據(jù)類型原始類型類型實(shí)為數(shù)字不區(qū)分整數(shù)和浮點(diǎn)類型整數(shù)類型包括負(fù)整數(shù),和正整數(shù)浮點(diǎn)類型表示小數(shù)類型整數(shù)和浮點(diǎn)數(shù)小數(shù)或并不區(qū)分整數(shù)與浮點(diǎn)數(shù)變量的定義并初始化字面量或直接量定義數(shù)字值浮點(diǎn)類型是只該數(shù)值包含整數(shù)部分,小數(shù)部分,小數(shù)點(diǎn)和小數(shù)部分浮點(diǎn)類 JS(JavaScript) 數(shù)據(jù)類型; 1.原始類型; number類型; 實(shí)為數(shù)字JS不區(qū)分整數(shù)和浮點(diǎn)類型;整數(shù)類型;包括負(fù)整數(shù),0和正...

    iflove 評(píng)論0 收藏0
  • JavaScript高程三----(基礎(chǔ)一)

    摘要:大小寫的不同分別表示不同的變量。本質(zhì)由一組無(wú)序的名值對(duì)組成的。字符串中第一個(gè)小數(shù)點(diǎn)有效,第二個(gè)無(wú)效,后面的字符串會(huì)被忽略。注意雙引號(hào)開頭,必須以雙引號(hào)結(jié)尾,單引號(hào)也是如此轉(zhuǎn)義字符表示非打印字符或具有其他用途的字符。 JavaScript高級(jí)程序設(shè)計(jì)(第3版)讀書筆記 1.區(qū)分大小寫: 變量、函數(shù)名和操作符都要區(qū)分大小寫。大小寫的不同分別表示不同的變量。 2.標(biāo)識(shí)符: 變量、函數(shù)、屬性...

    cppowboy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<