我在一个项目中工作,我必须向 API 发送 Pix 操作的货币值。
示例:57.30
起初我用的是 Double,但每个人都说我应该改用 Decimal。
let formatted = String(format: "%.2f", 57.30)
let decimalNumber = Decimal(string: formatted)
我用JSONEncoder打印出来,一切正常
let enconder = JSONEncoder()
do {
let value = try enconder.encode(number)
let number = String(data: value, encoding: .utf8)
value 57.30. // the value of number
} catch {
print ("error")
}
但是当这个值在我的应用程序之外时,例如在用户将支付pix的银行应用程序系统中,该值为
5.73
为什么会这样?
我尝试了 NumberFormatter()、Float、Double、Decimal