当我开始编写我的第一个应用程序时,我毫不犹豫地将 NSNumber 用于货币价值。然后我想也许 c 类型足以处理我的价值观。然而,iPhone SDK 论坛建议我使用 NSDecimalNumber,因为它具有出色的舍入功能。
不是气质上的数学家,我认为尾数/指数范式可能有点矫枉过正。尽管如此,谷歌搜索,我意识到大多数关于可可货币/货币的讨论都提到了 NSDecimalNumber。
请注意,我正在开发的应用程序将国际化,因此以美分计算金额的选项实际上并不可行,因为货币结构很大程度上取决于所使用的语言环境。
我 90% 确定我需要使用 NSDecimalNumber,但由于我在网络上没有找到明确的答案(例如:“如果你处理金钱,请使用 NSDecimalNumber!”)我想我会在这里问。也许答案对大多数人来说是显而易见的,但在开始对我的应用程序进行大规模重构之前,我想确定一下。
说服我 :)