91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

IOS: Objective-C高精度計算

發布時間:2020-07-19 06:05:03 來源:網絡 閱讀:2151 作者:winljj 欄目:移動開發

        最近一個IOS項目中需要用到很多小數計算,對精度要求很高。我們都知道,對計算機而言Float,Double這類浮點數因為都是以科學計數法方式存儲,所以都存在著計算上的誤差,所以不能直接對它們進行相關計算。

        在每種語言中都有相應的高精度計算方式,如Java中得BigDecimal類,C#中的decimal類型都是用來解決高精度計算問題的,如貨幣計算。

         在對蘋果給出的API進行查看后,發現了一個類-----NSDecimalNumber


          下面我們就來看看它里面我們需要的方法定義:


            - decimalNumberByAdding:

            - decimalNumberBySubtracting:

            - decimalNumberByMultiplyingBy:

            - decimalNumberByDividingBy:

            

            以上4個方法分別代表著我們四則運算中得加減乘除。


            這樣應該很好理解如何進行我們的高精度計算了,以下為我寫的用于理解的例子,addendValue和augendValue為NSString類型,可以將需要運算的數字轉化成相應位數的NSString類型后進行高精度計算:

   

NSDecimalNumber *addendNumber = [NSDecimalNumber decimalNumberWithString:addendValue];    
NSDecimalNumber *augendNumber = [NSDecimalNumber decimalNumberWithString:augendValue]; 
NSDecimalNumber *sumNumber = [addendNumber decimalNumberByAdding:augendNumber];

           






向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

当雄县| 竹北市| 二连浩特市| 土默特右旗| 滨州市| 库伦旗| 北流市| 亳州市| 饶阳县| 上林县| 西乌珠穆沁旗| 穆棱市| 尼木县| 顺昌县| 宁强县| 东莞市| 互助| 上栗县| 云阳县| 长治市| 泗阳县| 新乡县| 佛冈县| 项城市| 平顶山市| 贵阳市| 通化县| 化德县| 邻水| 资兴市| 根河市| 华池县| 汝南县| 集安市| 西充县| 通河县| 尼玛县| 绥滨县| 三亚市| 孟州市| 雅安市|