【发布时间】:2023-03-30 16:05:01
【问题描述】:
我从服务器收到以下响应
"transactionInfo": {
"currencyCode": "MYR",
"total": 472.23,
"roomCurrencyCode": "MYR",
"roomTotal": 472.23
}
但是当我尝试使用 SwiftyJson 进行转换并使用以下代码进行映射时
struct TransactionInfoModel: Codable {
var currencyCode: String
var total: Double
var roomCurrencyCode: String
var roomTotal: Double
}
然后我得到如下值:
"currencyCode": "MYR",
"total": 472.23000000000002,
"roomCurrencyCode": "MYR",
"roomTotal": 472.23000000000002
请建议如何解决此问题。提前致谢。
【问题讨论】:
-
Double 不能准确地表示某些值。对财务数据使用 Decimal,速度较慢但更安全
-
@CodeDifferent Thanx 但我将 Double 更改为 Decimal 但仍然面临同样的问题。
-
我已经调试了代码,发现使用 SwiftyJson 转换为 JSON 时 double 值会发生变化。
标签: json swift double swifty-json