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

How to store a price in two integers in swift

我了解到我不应将价格视为 double 数字,而应将它们存储为两个整数。

例如,如果我在 UITextField 中有一个 246.464 类型的输入,我应该如何使它成为两个整数?

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

floatdouble 不同,NSDecimalNumber 使用十进制算术,因此在十进制与二进制之间进行转换时不会损失精度。

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