我需要在我的应用程序中使用大数字来提高精度,浮动或双重是不够的。 我也有int和float数字,我必须对它们进行操作。
我认为NSDecimalNumber对我需要的精度有好处,但我想用其他类型的数字进行操作,这是一个复杂的公式。因此,当你有很多东西时,为了做复杂的公式(太复杂而不能使用函数decimalWith ...或decimalBy ......),我认为不适合使用这个类。
是否有人知道如何使用以便轻松操作大数字,并使用不同类型(float,decimal,int)对它们进行操作?
谢谢。
答案 0 :(得分:7)
NSDecimalNumbers
只是围绕NSDecimal
结构的包装器,它们可以a bunch of useful functions进行操作而无需分配新对象。
我已经使用了一些,并为内置的内容提出了一些其他有用的补充:https://github.com/davedelong/DDMathParser/blob/master/DDMathParser/_DDDecimalFunctions.m
除非你能提出令人信服的理由,否则我建议使用NSDecimal
。
答案 1 :(得分:0)
谢谢你们!
我终于使用了对我来说足够的双重类型。我很困惑,因为我使用NSLog
和%f
来打印我的号码,这不是我想要的。我使用%e
代替检查科学记数法中的数字是正确的,而且确实如此。所以我只是使用双号进行所有计算,它正在运行。