gpt4 book ai didi

swift - NSScanner 扫描Double UnsafeMutablePointer

转载 作者:行者123 更新时间:2023-11-30 13:35:17 29 4
gpt4 key购买 nike

我正在使用 NSScanner 扫描字符串并从中提取 double 值。这是我尝试解决问题的沙盒代码

let string = "maxage=1234567890"
let scanner2 = NSScanner(string: string)
scanner2.scanUpToString("=", intoString: nil)
scanner2.scanString("=", intoString: nil)
let maxage2:UnsafeMutablePointer<Double> = UnsafeMutablePointer<Double>()
scanner.scanDouble(maxage2)
print(scanner2.scanLocation)
print(maxage2)

它打印:

7
0x0000000000000000

因此,使用字符串第一部分的前两次调用有效,但扫描 double 值不起作用。

我见过类似这样的其他解决方案:

var double = 0.0
scanner.scanDouble(&double)

但这在 Swift 中似乎不再适用了。也许它在早期版本中是这样的?

我该如何解决这个问题?

最佳答案

我想知道您是否不小心使用了 scanner.scanDouble 而不是 scanner2.scanDouble 出现了拼写错误?

这对我有用:

let string = "maxage=1234567890"
let scanner2 = NSScanner(string: string)
scanner2.scanUpToString("=", intoString: nil)
scanner2.scanString("=", intoString: nil)
var aDoubleNumber = 0.0
scanner2.scanDouble(&aDoubleNumber)
print(scanner2.scanLocation)
print(aDoubleNumber)

关于swift - NSScanner 扫描Double UnsafeMutablePointer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36145588/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com