我遇到了一个问题,使扫描仪适用于这个特定的字符串。
代码来了:
tempString = @"30.15 in. Hg (1021 hPa)";
scanner = [NSScanner scannerWithString:tempString]; //setting the scanning location,
[scanner setCharactersToBeSkipped:[[NSCharacterSet characterSetWithCharactersInString:@"0123456789.,-+ "]invertedSet]];
value = 0;
_i = 0;
while([scanner isAtEnd] == NO)
{
[scanner scanFloat:&value];
if(_i == 1)
{
pressure = value;
}
_i++;
}
NSLog(@"pressure = %f hpa",pressure);
这个无限循环...
如果我更改字符串:tempString = @"30.15 in 8.8 Hg (1021 hPa)";
然后它工作正常
如果我更改为:tempString = @"30.15 in Hg (1021 hPa)";
它也可以正常工作。
问题来自“。” (点)
有什么干净的解决方案可以完成这项工作吗?
多谢。