中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

静安区| 富裕县| 中超| 临沭县| 诏安县| 本溪市| 安图县| 鸡泽县| 富宁县| 星子县| 桑日县| 乌拉特前旗| 鹤庆县| 鞍山市| 乌兰县| 霍山县| 安康市| 西乌珠穆沁旗| 雷波县| 聊城市| 天峨县| 新河县| 满洲里市| 错那县| 雅江县| 忻城县| 鄯善县| 武山县| 论坛| 南华县| 兴宁市| 湛江市| 新干县| 宝坻区| 凤翔县| 英山县| 常州市| 斗六市| 靖边县| 兰西县| 平塘县|