哪种Objective-c类型适合处理钱?我需要一些与Core Data兼容的东西。
答案 0 :(得分:16)
有两种解决方案:
int
,并始终以美分(或您正在使用的任何货币的最小可能区分)跟踪货币值。仅使用整数计算。NSDecimalNumber
,它执行精确的十进制算术。解决方案#1要求您在输入或输出货币值时转换美分和美元,而解决方案#2可能更难以编码(例如,您必须编写类似[num1 decimalNumberByAdding:num2]
而不是{{ 1}}添加两个数字)。
我建议使用解决方案#1,但请选择您认为最有效的解决方案。