gpt4 book ai didi

cocoa - 如何使用NSDecimalNumber?

转载 作者:行者123 更新时间:2023-12-03 16:00:35 24 4
gpt4 key购买 nike

我正在构建一个需要执行金钱计算的应用程序。

我想知道如何正确使用 NSDecimalNumber,特别是如何从整数、 float 和 double 初始化它?

我只发现使用 -decimalNumberWithString: 方法很容易。不鼓励使用 -initWith... 方法,因此只留下带有尾数的方法,但在我之前使用的 7 种语言中,我从来没有需要它,所以我不知道放在那里的是什么。 .

最佳答案

请勿使用 NSNumber+numberWith... 方法来创建 NSDecimalNumber 对象。它们被声明为返回 NSNumber 对象,但不保证作为 NSDecimalNumber 实例运行。

这在thread中有解释。作者:Bill Bumgarner,Apple 开发人员。我鼓励您针对此行为提交错误,引用错误 rdar://6487304。

作为替代方案,这些是用于创建 NSDecimalNumber 的所有适当方法:

+ (NSDecimalNumber *)decimalNumberWithMantissa:(unsigned long long)mantissa
exponent:(short)exponent isNegative:(BOOL)flag;
+ (NSDecimalNumber *)decimalNumberWithDecimal:(NSDecimal)dcm;
+ (NSDecimalNumber *)decimalNumberWithString:(NSString *)numberValue;
+ (NSDecimalNumber *)decimalNumberWithString:(NSString *)numberValue locale:(id)locale;

+ (NSDecimalNumber *)zero;
+ (NSDecimalNumber *)one;
+ (NSDecimalNumber *)minimumDecimalNumber;
+ (NSDecimalNumber *)maximumDecimalNumber;
+ (NSDecimalNumber *)notANumber;

如果您只是想要来自 floatint 常量的 NSDecimalNumber,请尝试如下操作:

NSDecimalNumber *dn = [NSDecimalNumber decimalNumberWithDecimal:
[[NSNumber numberWithFloat:2.75f] decimalValue];

关于cocoa - 如何使用NSDecimalNumber?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/453691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com