哪种 objective-c 类型适合处理金钱?我需要一些与核心数据兼容的东西。
最佳答案
有两种解决方法:
- 使用
int
,并始终以美分(或您使用的任何货币的最小单位)为单位跟踪货币值(value)。仅使用整数计算。 - 使用
NSDecimalNumber
,它执行精确的十进制算术。
解决方案 #1 要求您在输入或输出货币值时在美分和美元之间进行转换,而解决方案 #2 的代码可能更困惑(例如,您必须编写类似 [num1 decimalNumberByAdding:num2] 的代码
而不是 num1 + num2
来添加两个数字)。
我推荐解决方案 #1,但请选择您认为最有效的解决方案。
关于objective-c - 哪种 Objective-C 类型适合处理金钱?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6339120/