我有一个plist(在XCode中创建),其中包含一个数组,其中包含整数“Numbers”(0.01,1,2,6),当使用initWithContentsOfFile重新构造时,解包为NSValues。如何将这些NSValues转换为可用于添加在一起的NSDecimalNumbers?它们将被视为货币值,因此只需要精确到2位(也许是4位)。将NSValue转换为NSDecimalNumber
我试过将plist值保存为“String”而不是“Number”,并使用NSDecimalNumber的initWithString设置值,但是然后NSValue不响应stringValue。
似乎处理数字在可可中尤其令人困惑。如此多的框架中的许多容器格式... :-(
乘以100的方法对大多数货币都很好,但它不是通用的。我想我可以从当前语言环境的NSNumberFormatter中获取maximumFractionDigits,然后将我的整数乘以10^maxDigits。尽管如此,在这个现代化的计算时代,似乎并不应该像操纵货币一样普遍地操纵这种困难/混乱...... – Meltemi 2009-07-07 08:12:12