如何在swift中以两个整数存储价格

时间:2016-06-01 09:53:31

标签: swift ios9 nsnumberformatter

我已经读过,我不应该将价格视为double个数字,并且我应该将它们存储为两个整数。

例如,如果我在246.464中输入UITextField类型的输入,我应该如何将其设为两个整数?

1 个答案:

答案 0 :(得分:5)

忘记两个整数,将其存储为NSDecimalNumber。这是专门为该任务创建的类。

floatdouble不同,NSDecimalNumber使用十进制算术,因此在十进制到二进制之间进行转换时,精度不会有任何损失,反之亦然。

let text = "246.464" // textField.text
let number = NSDecimalNumber(string: text)