【问题标题】:How to keep original double value while parsing in json swift?如何在 json swift 中解析时保持原始双值?
【发布时间】: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


【解决方案1】:

Swift 使用 IEEE 754 标准来表示单精度和双精度。

swift: issue in converting string to double 马丁已经清楚地回答了你的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 2014-10-09
    • 2019-11-03
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    相关资源
    最近更新 更多