Ios Swift中的小数

Ios Swift中的小数,ios,swift,ios8,Ios,Swift,Ios8,我正在编写一个Swift应用程序,处理数据库中的小数(在mysql中以小数形式存储,有2位数字。基本上是某人每天的销售额,所以一般从0美元到1000美元不等,但不是数百万美元,从后面的小数数来看也没什么疯狂的,总是四舍五入到小数点后2位) 参考这一点帮助了我: …但我想在这里做一个快速的理智检查,确保这个策略是正确的。 i、 e我将使用NSDecimal或NSDecimal数字(是否有首选的swift等价物??) 在Swift中处理货币时,你们都会建议我做什么?我还想使用基于区域设置的货币符号

我正在编写一个Swift应用程序,处理数据库中的小数(在mysql中以小数形式存储,有2位数字。基本上是某人每天的销售额,所以一般从0美元到1000美元不等,但不是数百万美元,从后面的小数数来看也没什么疯狂的,总是四舍五入到小数点后2位)

参考这一点帮助了我:

…但我想在这里做一个快速的理智检查,确保这个策略是正确的。 i、 e我将使用NSDecimal或NSDecimal数字(是否有首选的swift等价物??)

在Swift中处理货币时,你们都会建议我做什么?我还想使用基于区域设置的货币符号。我有一个名为Sales的类,它包含有问题的金额。您推荐的数据类型是什么

抱歉,如果我太懒了,我实际上对该做什么有一些想法,但对于“正确”的方法感到有些不知所措,特别是以对区域设置敏感的方式,我想在这里与大家一起检查


非常感谢

对Swift 3的更新:A现在提供了对诸如
*
/
+
Swift 3现在有一个十进制(值)类型,该类型桥接到NSDecimalNumber。

非常感谢!所以你建议我的类属性是NSDecimalNumber,而不是Decimal类型,对吗?当我把一个看起来像“5000.52”的字符串转换成一个NSDECIMALL,有什么特殊的规则要考虑吗?我推荐导游。对不起,我是说“双倍”!!当然,这取决于你在做什么,但你应该知道,如果你的数字是以十为基数的,那么NSDecimal(数字)就不会有同样的问题,因为它本机表示以十为基数的数字。为了澄清,“5000.52”将以NSDecimal表示为500052×10^-2,但以常规IEEE浮点数表示为1.220830078×2^12。