我想在String
中转换NSString
,以获得双倍值。但我有一个错误:
参数标签'(_:)'不匹配任何可用的重载。
我该如何解决这个问题?
答案 0 :(得分:4)
不要那样做。
基本上,您可以将演员String
与NSString
let nsString = "12.34" as NSString
print(nsString.doubleValue)
而不是使用初始值设定项(错误消息显示没有适当的初始化程序没有参数标签),但是转换为NSString
以获取doubleValue
是Swift中的错误方式< /强>
获取String
,使用Double
初始化程序并安全打开选项
if let lat = array[indexPath.row]["lat"] as? String,
let latAsDouble = Double(lat) {
// do something with latAsDouble
}
答案 1 :(得分:1)
我猜你必须使用这种语法来转换
let myString = "556"
let myFloat = (myString as NSString).doubleValue
答案 2 :(得分:0)
快速3和4
要加倍的字符串
CartAmount = (response.object(forKey:"amount")as! NSString).doubleValue!
双精度字符串
let string = String(CartAmount)
答案 3 :(得分:-1)
试试这个
let nsstring:NSString = "111.11"
let str:String = "111.11"
let tempString = (str as NSString).doubleValue
print("String:-",tempString)
let temp = nsstring.doubleValue
print("NSString",temp)
String:- 111.11
NSString 111.11