Swift - 用逗号分隔符加倍的字符串

问题描述:

我目前有一个像这样的字符串:或"4,25",我需要将它转换为Double,但我该怎么做? 我是否首先将,替换为.Swift - 用逗号分隔符加倍的字符串

我看过NSNumberFormatter,但是每个字符串都返回nil

let formatter = NSNumberFormatter() 
formatter.minimumFractionDigits = 2 
formatter.maximumFractionDigits = 2 
let grade = formatter.numberFromString(grade["Cijfer"].stringValue) 
print(grade) 

我该用什么?

使用decimalSeparator

let formatter = NSNumberFormatter() 
formatter.decimalSeparator = "," 
let grade = formatter.numberFromString("2,3") 

if let doubleGrade = grade?.doubleValue { 
    print(doubleGrade) 
} else { 
    print("not parseable") 
} 

打印

2.3

+0

,然后我可以投的NSNumb呃到双? – jbehrens94

+0

@ jbehrens94我还包含一个代码片断来解释这一点。 – luk2302

+0

我也会得到类似'9.800000000000001'的回报? – jbehrens94

'纯' 雨燕(不基金会)

let str = "9,8" 
let sstr = str.characters.split(",").joinWithSeparator(["."]) 
if let d = Double(String(sstr)) { 
    print(d) // 9.8 
}