摘要:那如果我們將其換成類型的會怎么樣呢再來試試。在企業(yè)開發(fā)中,當涉及到錢的計算時應(yīng)該使用類型來處理,尤其是在金融領(lǐng)域,只要和錢有關(guān)的任何邏輯,都是大事,反之沒那么嚴重只是沒那么大。
閱讀本文大概需要 1 分鐘。
先來考考大家,在下列 Java 代碼中,你覺得在控制臺會打印什么值呢?
貌似難不倒大家,這不是 so easy ,連小學(xué)生都會算的題目,1.0 - 0.9 = 0.1 啊,但是你覺得會等于 0.1 嗎?
看下上圖代碼的輸出結(jié)果:
有沒有驚訝,有沒有很刺激,0.0……02 難道被計算機吃掉了???
好吧,當初我也是這幅表情(原諒我基礎(chǔ)薄弱)。
那如果我們將其換成 float 類型的會怎么樣呢?再來試試。
控制臺打印結(jié)果:
結(jié)果居然多了 0.10…24,那不得樂開花啊~
那么以上這些現(xiàn)象是為什么呢?
浮點數(shù)在計算機中采用二進制表示,而二進制系統(tǒng)無法精確表示某些小數(shù),比如 1/10 ,就像十進制無法表示 1/3 一樣,這樣是產(chǎn)生誤差的原因。
在企業(yè)開發(fā)中,當涉及到錢的計算時應(yīng)該使用 BigDecimal 類型來處理,尤其是在金融領(lǐng)域,只要和錢有關(guān)的任何邏輯,都是大事,反之沒那么嚴重(只是沒那么大)。
·END·
程序員的成長之路
路雖遠,行則必至
本文原發(fā)于 同名微信公眾號「程序員的成長之路」,回復(fù)「1024」你懂得,給個贊唄。
往期精彩回顧
碼農(nóng)西游 | 為啥有些大公司技術(shù)弱爆了
此代碼募集最優(yōu)秀的答案
程序員和產(chǎn)品經(jīng)理之間的恩怨情仇
如何優(yōu)雅拒絕產(chǎn)品經(jīng)理的不合理需求
東南亞的招聘騙局,程序員請注意!
select * 和 select 所有字段的區(qū)別
花馬云10億無作為,被同事罵的當眾落淚,后為阿里創(chuàng)造4500億價值
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/74314.html
摘要:和并不是一個標準的屬性,才是,所以火狐長久以來都不支持,同時也不支持。 這個系列保持開坑不埋的狀態(tài)已經(jīng)過去三個月了,而在這幾個月中我才算第一次認真地深入理解js。雖然期間筆記是記了不少,但寫博文又不應(yīng)是簡單的復(fù)制粘貼,還是得保證有討論價值、有干貨的。而我面對的現(xiàn)實是:一來基礎(chǔ)差導(dǎo)致識別和撈出有討論價值的干貨得自身功夫練到一定階段,二來又因為記的雜亂且缺乏日常整理,整理一下就是拖一下,再...
摘要:注釋空數(shù)組空對象轉(zhuǎn)換為布爾型也是坑。系統(tǒng)會在自動類型轉(zhuǎn)換的時候調(diào)用他們,所以我們通常不需要手動調(diào)用他們。嚴格相等不存在類型轉(zhuǎn)換,對于類型不同的兩個值直接返回。 Javascript 中有5種基本類型(不包括 symbol),以及對象類型,他們在不同的運算中會被系統(tǒng)轉(zhuǎn)化為不同是類型,當然我們也可以手動轉(zhuǎn)化其類型。 Javascript 類型轉(zhuǎn)換中的坑極多,就連 Douglas Crock...
摘要:所有這些類型,在內(nèi)部統(tǒng)一用一個叫做的結(jié)構(gòu)表示,在源代碼中這個結(jié)構(gòu)名稱為。的具體定義在源代碼的文件中,下面是相關(guān)代碼的摘錄。 【轉(zhuǎn)】淺談PHP5中垃圾回收算法(Garbage Collection)的演化 前言 PHP是一門托管型語言,在PHP編程中程序員不需要手工處理內(nèi)存資源的分配與釋放(使用C編寫PHP或Zend擴展除外),這就意味著PHP本身實現(xiàn)了垃圾回收機制(Garbage C...
摘要:數(shù)據(jù)類型原始類型類型實為數(shù)字不區(qū)分整數(shù)和浮點類型整數(shù)類型包括負整數(shù),和正整數(shù)浮點類型表示小數(shù)類型整數(shù)和浮點數(shù)小數(shù)或并不區(qū)分整數(shù)與浮點數(shù)變量的定義并初始化字面量或直接量定義數(shù)字值浮點類型是只該數(shù)值包含整數(shù)部分,小數(shù)部分,小數(shù)點和小數(shù)部分浮點類 JS(JavaScript) 數(shù)據(jù)類型; 1.原始類型; number類型; 實為數(shù)字JS不區(qū)分整數(shù)和浮點類型;整數(shù)類型;包括負整數(shù),0和正...
摘要:大小寫的不同分別表示不同的變量。本質(zhì)由一組無序的名值對組成的。字符串中第一個小數(shù)點有效,第二個無效,后面的字符串會被忽略。注意雙引號開頭,必須以雙引號結(jié)尾,單引號也是如此轉(zhuǎn)義字符表示非打印字符或具有其他用途的字符。 JavaScript高級程序設(shè)計(第3版)讀書筆記 1.區(qū)分大小寫: 變量、函數(shù)名和操作符都要區(qū)分大小寫。大小寫的不同分別表示不同的變量。 2.標識符: 變量、函數(shù)、屬性...
閱讀 3768·2021-09-02 09:53
閱讀 2748·2021-07-30 14:57
閱讀 3492·2019-08-30 13:09
閱讀 1178·2019-08-29 13:25
閱讀 810·2019-08-29 12:28
閱讀 1453·2019-08-29 12:26
閱讀 1129·2019-08-28 17:58
閱讀 3305·2019-08-26 13:28