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

jbe*_*s94 4 string double nsnumberformatter swift2

我目前有一个这样的字符串:"8,0"或者"4,25"我需要将其转换为a Double,但我该怎么做?难道我首先更换,.

我已经看了,NSNumberFormatternil每个字符串都返回了.

let formatter = NSNumberFormatter()
formatter.minimumFractionDigits = 2
formatter.maximumFractionDigits = 2
let grade = formatter.numberFromString(grade["Cijfer"].stringValue)
print(grade)
Run Code Online (Sandbox Code Playgroud)

我该怎么用?

luk*_*302 10

使用decimalSeparator:

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

if let doubleGrade = grade?.doubleValue {
    print(doubleGrade)
} else {
    print("not parseable")
}
Run Code Online (Sandbox Code Playgroud)

打印

2.3


use*_*734 5

“纯”斯威夫特(无基金会)

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

  • 或只是`str.replacingOccurrences(of:“,”,with:“。”)` (4认同)