使用NSJSONSerialization创建JSON时,有什么方法可以设置双精度值格式?

例如:

    let dict :Dictionary<String,NSNumber> = ["key1" : 75.01, "key2" : 80.93, "key3" : 79.07, "key4" : 79.10 ]
    let JSONData = try! NSJSONSerialization.dataWithJSONObject(dict, options: .PrettyPrinted)
    let JSONText = NSString(data: JSONData, encoding: NSASCIIStringEncoding)
    NSLog("JSON string = \(JSONText!)")

我得到以下输出:

JSON字符串= {
“key1”:75.01000000000001,
“key2”:80.93000000000001,
“key4”:79.09999999999999,
“key3”:79.06999999999999
}

我想避免使用这些000001、0999999等。
提前致谢。

最佳答案

使用“浮点数”代替“NSNumber”:

let dict: Dictionary<String,Float> = ["key1" : 75.01, "key2" : 80.93, "key3" : 79.07, "key4" : 79.10 ]

结果:

JSON字符串= {
“key1”:75.01,
“key4”:79.1,
“key2”:80.93,
“key3”:79.07
}

关于ios - 创建JSON并格式化 double 值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34853430/

10-11 22:15