ios – NSNumber算术

ios – NSNumber算术,第1张

概述我想对NSNumbers执行一些简单的算术并保留类型.这可能吗? 例如: - (NSNumber *)add:(NSNumber *)firstNumber to:(NSNumber *)secondNumber; 是我的方法定义,firstNumber和secondNumber是整数然后我想返回一个整数,它们是两者的整数加法.同样,如果两者都是双打,那么将结果作为双精度返回. 看起来我可以使用在 我想对NSNumbers执行一些简单的算术并保留类型.这可能吗?

例如:

- (NSNumber *)add:(NSNumber *)firstNumber to:(NSNumber *)secondNumber;

是我的方法定义,firstNumber和secondNumber是整数然后我想返回一个整数,它们是两者的整数加法.同样,如果两者都是双打,那么将结果作为双精度返回.

看起来我可以使用在这个问题中找到的[NSNumber objCType]来获取类型(布尔除外):get type of NSNumber但是我似乎无法提取那些类型并且在没有大量代码的情况下进行计算来提取值进行计算并返回每种可能类型的结果.

这样做有简短而简洁的方法吗?

解决方法 如果你想进行算术,最好的选择是使用 NSDecimalNumber.

NSDecimalNumber具有执行算术运算的方法,如:

– decimalNumberByAdding:– decimalNumberBySubtracting:– decimalNumberByMultiplyingBy:– decimalNumberBydivIDingBy:– decimalNumberByRaisingtopower:– decimalNumberByMultiplyingByPowerOf10:– decimalNumberByAdding:withBehavior:– decimalNumberBySubtracting:withBehavior:– decimalNumberByMultiplyingBy:withBehavior:– decimalNumberBydivIDingBy:withBehavior:– decimalNumberByRaisingtopower:withBehavior:– decimalNumberByMultiplyingByPowerOf10:withBehavior:

并且由于NSDecimalNumber扩展了NSNumber,它也拥有NSNumber的所有方法,所以我认为你可以在你的情况下使用它而没有任何问题.

总结

以上是内存溢出为你收集整理的ios – NSNumber算术全部内容,希望文章能够帮你解决ios – NSNumber算术所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1098352.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存