NSDecimalNumber用于iPhone上的大数量操作

时间:2011-02-28 21:46:25

标签: iphone objective-c decimal bigdecimal operations

我需要在我的应用程序中使用大数字来提高精度,浮动或双重是不够的。 我也有int和float数字,我必须对它们进行操作。

我认为NSDecimalNumber对我需要的精度有好处,但我想用其他类型的数字进行操作,这是一个复杂的公式。因此,当你有很多东西时,为了做复杂的公式(太复杂而不能使用函数decimalWith ...或decimalBy ......),我认为不适合使用这个类。

是否有人知道如何使用以便轻松操作大数字,并使用不同类型(float,decimal,int)对它们进行操作?

谢谢。

2 个答案:

答案 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代替检查科学记数法中的数字是正确的,而且确实如此。所以我只是使用双号进行所有计算,它正在运行。