使用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/