Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在swift中,Float值以双引号从[String:AnyObject]返回_Ios_Swift_Swift3_Floating Point_Anyobject - Fatal编程技术网

Ios 在swift中,Float值以双引号从[String:AnyObject]返回

Ios 在swift中,Float值以双引号从[String:AnyObject]返回,ios,swift,swift3,floating-point,anyobject,Ios,Swift,Swift3,Floating Point,Anyobject,当我使用[String:AnyObject]时,我不知道为什么浮点值总是带有双引号。你们有什么方法可以让我得到正确的结果吗 let appliedLoyalty: Float = 1.05 let appliedWallet: Float = 0.55 let payLoad: [String: AnyObject] = ["custid": custid! as AnyObject, "discounts": ["loyalty": appliedLoyalty,"wallet": appl

当我使用
[String:AnyObject]
时,我不知道为什么浮点值总是带有双引号。你们有什么方法可以让我得到正确的结果吗

let appliedLoyalty: Float = 1.05
let appliedWallet: Float = 0.55

let payLoad: [String: AnyObject] = ["custid": custid! as AnyObject, "discounts": ["loyalty": appliedLoyalty,"wallet": appliedWallet] as AnyObject] // custid is string value

print(payLoad)
当我打印有效负载时,浮点值用双引号引起来

["discounts": {
    "loyalty" = "1.05";
    "wallet" = "0.45";
}, "custid": "puma"]
使用
print(payLoad)
时,将调用字典的
description
方法。
description
方法的实现与控制台上打印的相同。您应该使用
JSONSerialization
查看实际的json,而不是打印字典。使用下面的代码或使用断点检查负载中存储的内容

let jsonData = try? JSONSerialization.data(withJSONObject: payLoad, options: .prettyPrinted)
let jsonStr = String(data: jsonData!, encoding: .utf8)
print(jsonStr!)
使用
print(payLoad)
时,将调用字典的
description
方法。
description
方法的实现与控制台上打印的相同。您应该使用
JSONSerialization
查看实际的json,而不是打印字典。使用下面的代码或使用断点检查负载中存储的内容

let jsonData = try? JSONSerialization.data(withJSONObject: payLoad, options: .prettyPrinted)
let jsonStr = String(data: jsonData!, encoding: .utf8)
print(jsonStr!)

将任何对象替换为以下类似对象:

let appliedLoyalty: Float = 1.05
let appliedWallet: Float = 0.55
let custID = "puma"
let payLoad: [String: Any] = ["custid": custID, "discounts": ["loyalty": appliedLoyalty,"wallet": appliedWallet]] // custid is string value

print(payLoad)

将任何对象替换为以下类似对象:

let appliedLoyalty: Float = 1.05
let appliedWallet: Float = 0.55
let custID = "puma"
let payLoad: [String: Any] = ["custid": custID, "discounts": ["loyalty": appliedLoyalty,"wallet": appliedWallet]] // custid is string value

print(payLoad)

感谢您宝贵的回答。它工作得很好。非常感谢@ivarunth,不需要强制转换(
“puma”作为字符串
,而
作为字典中的任何
强制转换),类型推断可以完成它的工作,尤其是在处理如此简单的类型时。@DávidPásztor你说得对。。按照你说的,我已经更新了答案。谢谢:)谢谢你宝贵的回答。它工作得很好。非常感谢@ivarunth,不需要强制转换(
“puma”作为字符串
,而
作为字典中的任何
强制转换),类型推断可以完成它的工作,尤其是在处理如此简单的类型时。@DávidPásztor你说得对。。按照你说的,我已经更新了答案。谢谢:)