[英]how to compare double number with 30 decimal places with the highest precision?
我需要比較兩個大十進制數與30個小數位。 我還需要在小數點后30位檢測出差異,因此我需要這樣做:
double number_1=80.004752165027610999459284357728;
double number_2=80.004752165027610999459284357727;
導致此:
double result = 0.000000000000000000000000000001
由於數字本身的性質,這似乎是不可能的(我已經嘗試過使用float,long double)。 我只有一組有限的小數位數可以操作。 那么在那種情況下我如何才能達到更好的精度呢? 也許我可以使用某些框架的功能? 我沒有發現在nsnumber和google中有用的東西
您可以使用NSDecimalNumber
。 它最多可以使用38位數字。
NSDecimalNumber是NSNumber的不可變子類,它提供了一個面向對象的包裝器,用於進行10進制算法。 一個實例可以表示任何可以表示為尾數x 10 ^指數的數字,其中尾數是不超過38位的十進制整數,指數是從–128到127的整數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.