この特定の文字列に対してスキャナーを機能させる際に問題が発生しました。
ここにコードがあります:
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)";
それもうまくいきます。
問題は「。」から来ています。(ドット)
これを機能させるためのクリーンなソリューションはありますか?
どうもありがとう。