哪种Objective-c类型适合处理钱?

时间:2011-06-14 04:38:13

标签: objective-c types currency

哪种Objective-c类型适合处理钱?我需要一些与Core Data兼容的东西。

1 个答案:

答案 0 :(得分:16)

有两种解决方案:

  • 使用int,并始终以美分(或您正在使用的任何货币的最小可能区分)跟踪货币值。仅使用整数计算。
  • 使用NSDecimalNumber,它执行精确的十进制算术。

解决方案#1要求您在输入或输出货币值时转换美分和美元,而解决方案#2可能更难以编码(例如,您必须编写类似[num1 decimalNumberByAdding:num2]而不是{{ 1}}添加两个数字)。

我建议使用解决方案#1,但请选择您认为最有效的解决方案。