この特定の文字列に対してスキャナを動作させることに問題があります。NSScannerが「isAtEnd」に達しない、またはフルストリングをスキャンしない
ここにコードを付属しています。
tempString = @"30.15 in. Hg (1021 hPa)";
scanner = [NSScanner scannerWithString:tempString]; //setting the scanning location,
[scanner setCharactersToBeSkipped:[[NSCharacterSet characterSetWithCharactersInString:@".,-+ "]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)";
私が変更された場合、それはまた、細かい
の作品with:tempString = @"30.15 in Hg (1021 hPa)";
iまた、うまく動作します。
問題は「。
この作業を行うにはどんなクリーンな解決策ですか?
ありがとうございます。
パーフェクト!それが私が探求したものです!どうもありがとう。 – Vassily