Swift 關於float的誤差

2022-07-22 11:54:14 字數 883 閱讀 2203

最近接手乙個專案,收拾一堆的剩下的爛攤子,有相關金額的部分,現場反應接收到的json資料在顯示和計算時,有的時候會有1分錢的誤差,關於錢的事情是絕對不可能允許的。原因其實很簡單,檢視了一下**,在用mjextension接收資料時,全部選用的是float型別來接收,在需要使用高精度的時候,我們一定要使用double型別。(ps.關於錢盡量也不要使用double)

這三條大概就能看出swift中double和float的區別,在金額的表達中float是完全不可用的,swift中double可以滿足我們的正常要求,問題只是在運算過程中,double運算的cpu佔用率要高於float,所以在精度要求不高的時候,盡量使用float。

當然swift中表達金額有更高階更可靠的方式,如nsdecimalnumber,這是個精度更高的類,還有乙個git上專門負責貨幣的庫真的有需求要做進出口貨幣轉換的,大家有興趣可以研究下。 

關於訓練誤差 測試誤差 泛化誤差

我們在學習模式識別的時候,總是會遇到一些專業詞彙,而其中有的專業詞彙叫人傻傻分不清。今天我就來說說訓練誤差 測試誤差 泛化誤差到底是什麼,區別所在。對於分類學習演算法,我們一般將樣本集分為訓練集和測試集,其中訓練集用於演算法模型的學習或訓練,而測試集通常用於評估訓練好的模型對於資料的 效能評估。而這...

關於float的理解

裡面的兩個的浮動div的。方法二 為父元素設定overflow屬性,值為auto或hidden 方法三 為父元素新增以下css規則 content visibility hidden display block height 0 clear both 方法四 父元素本身設定為float 這會影響它周...

關於float的說明

如圖所示,藍色的div和紅色的div處於黑色的div 寬為500px 之中,其中藍色的div設定了做浮動 由圖一 紅色div的margin top為10px,margin left為200px 知 浮動之後藍色div脫離了正常的文件流,而緊接著藍色div的紅色div則公升了上去,這個藍色div浮動層...