I would like to convert a string in a json format to a request payload through swift Codable
. However, after converting, the value turns from 24.21
to24.210000000000001
. how should I fix it?
public func alertData(json: String) throws -> Data? { guard let jsonData = try json.data(using: .utf8) else { return nil } return jsonData}struct Payload: Codable { var order = OrderData()}struct OrderData: Codable { var amount: Double?}let json = "{\"order\": {\"amount\": 24.21}}"let data = try alertData(json: json)!let payload = try JSONDecoder().decode(Payload.self, from: data)print(payload) /// Payload(order: prog.OrderData(amount: Optional(24.210000000000001)))