无法在 Swift 中将 String 转换为 Double [重复]
Posted
技术标签:
【中文标题】无法在 Swift 中将 String 转换为 Double [重复]【英文标题】:Cannot convert String to Double in Swift [duplicate] 【发布时间】:2015-04-28 12:41:05 【问题描述】:我有一个字典作为服务器的响应:
"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
为什么?不是Double
吗?
结果我的最终代码不起作用:
if let grossPriceTotal = dictionary["gross_price_total"] as? Double
println("final result: \(grossPriceTotal)")
【问题讨论】:
"6.00"
是一个字符串,而不是一个数字。如果您搜索“Swift string to double”,那么您应该会找到一些答案,其中一些已经在“相关”部分......
【参考方案1】:
这应该让你走:
let x = (dictionary["gross_price_total"] as NSString).doubleValue
【讨论】:
【参考方案2】:您可以创建一个扩展,您可以在其中使用字符串初始化您的 Double。但是你必须使用 NSString 方法doubleValue
:
extension Double
init(string:String)
self = (string as NSString).doubleValue
let x = Double(string: dictionary["gross_price_total"])
【讨论】:
支持使用扩展的创造性方式以上是关于无法在 Swift 中将 String 转换为 Double [重复]的主要内容,如果未能解决你的问题,请参考以下文章
无法在iOS swift中将base64string解码为uiimage,但在android中工作正常[重复]
如何在swift中将'Date'类型的转换值返回为'String'
如何在swift中将字符索引从layoutManager转换为String scale
在 swift 中将 String 类型数组转换为 Float 类型数组 不能将类型 'String' 的值分配给类型 'Double' 的下标。