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

Mos*_*she 14 types currency objective-c

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

Ada*_*eld 16

有两种解决方案:

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

解决方案#1需要你美分,每当你做输入或货币值的输出美元之间的转换,而解决方案#2可以梅西耶代码(例如,你必须喜欢写东西[num1 decimalNumberByAdding:num2],而不是num1 + num2把两个数相加).

我建议使用解决方案#1,但请选择您认为最适合的解决方案.

  • +1 - 而且,为什么*不*使用浮点型透彻的理解,看到大卫·戈德堡的经典作品"什么每台计算机科学家应该知道关于浮点运算":<http://download.oracle.com/文档/ CD/E19957-01/806-3568/ncg_goldberg.html> (2认同)