当前位置: 首页 > 知识库问答 >
问题:

在Swift[复制]中无法将字符串转换为双

徐绪
2023-03-14

我有一个字典作为服务器的响应:

{ 
  "gross_price" = "6.00";
  "gross_price_total" = "6.00";
  "guests_count" = 1;
}

然后我尝试:

 let x = dictionary["gross_price_total"] as? Double
 let y = dictionary["gross_price_total"]!
 println("result: \(x) \(y)")

作为输出,我得到:

result: nil 6.00

为什么?这不是双倍的吗?

这导致我的最终代码无法工作:

if let grossPriceTotal = dictionary["gross_price_total"] as? Double {
    println("final result: \(grossPriceTotal)")
}

共有2个答案

韩豪
2023-03-14

您可以创建一个扩展名,在其中可以使用字符串初始化Double。但是您必须使用NSString方法doubleValue

extension Double{
    init(string:String){
        self = (string as NSString).doubleValue
    }
}

let x = Double(string: dictionary["gross_price_total"])
潘秦斩
2023-03-14

这应该让你去:

let x = (dictionary["gross_price_total"] as NSString).doubleValue
 类似资料:
  • 我正在尝试如何在Swift中将转换为。 我想出了一个变通方法,使用但是我想知道如何在Swift中完成这一切。

  • 我有Java命令行应用程序,在启动. jar文件时使用参数。参数看起来像 我想将参数转换为<code>HashMap 我尝试了Streams和拆分()函数,但我无法将子字符串转换为字符串数组

  • 问题内容: 我得到了在Objective-C中将String转换为HEX-String的代码。 我想要在Swift中也一样。任何人都可以在Swift中翻译此代码,或者在Swift中有任何简单的方法吗? 问题答案: 这是我的例行十六进制字符串: 为了完整起见,这是我的十六进制字符串例程: 请注意,如上所示,我通常只在十六进制表示形式和实例之间进行转换(因为如果可以将信息表示为字符串,则可能一开始就不

  • 问题内容: 我正在尝试将a转换为a ,然后更改格式。但是当我传递给它时会产生空白。 问题答案: 您可以从Apple Dateformatter文档中 获取详细信息。如果要为dateString设置dateformat,请参阅此链接,您可以在此处获取详细的dateformat ,例如 你得到的输出为

  • 问题内容: 如何将该字符串转换为,并仅保留年,月,日,小时? 它的中间部分真的使我不习惯使用日期时。 问题答案: 将ISO8601字符串转换为日期 从日期获取年,月,日和小时的日期部分 let components = calendar.dateComponents([.year, .month, .day, .hour], from: date) 最后创建一个新对象并删除分钟和几秒钟 还请考虑i

  • 问题内容: 您如何将此String转换为gson.JsonArray? 这是我的代码: 这是将这个Collections字符串转换为JSonArray的方法吗? 问题答案: 要在JSON数组中包含字符串值,必须记住在Java程序中用反斜杠转义双引号。请参见下面的声明。 您在main()方法中的代码可以正常工作。以下只是对main()方法中的代码的微小修改。 最后,请记住在语句“ com.googl

  • 我将XML作为字符串传递给一个方法,并再次将其转换为XML来完成我的工作。 其正常工作正常,但当出现特殊字符时,如<代码> 我的XML字符串: 我的代码是: 错误: “=”是意外标记。预期标记为“;”。第1行,位置150。 完全错误为: 系统Xml。XmlException未由用户代码处理HResult=-2146232000消息=“=”是意外令牌。预期标记为“;”。第1行,位置150。源=系统。

  • 这是代码,我正在尝试将分钟数(字符串类型)转换为整数类型,但我有NumberFormatException错误,有人能帮我吗,我如何处理这种情况。谢谢