哪种 Objective-C 类型适合处理金钱?我需要一些与核心数据兼容的东西。
有两种解决方案:
- Use an
int
,并始终跟踪以美分为单位的货币价值(或您所使用的任何货币的最小可能划分)。仅使用整数计算。
- Use NSDecimalNumber http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDecimalNumber_Class/Reference/Reference.html,它执行精确的十进制算术。
解决方案 #1 要求您在输入或输出货币值时在美分和美元之间进行转换,而解决方案 #2 的代码可能会比较混乱(例如,您必须编写类似的代码[num1 decimalNumberByAdding:num2]
代替num1 + num2
将两个数字相加)。
我推荐解决方案#1,但请选择您认为最有效的解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)