如何在Cocoa中解析字符串表示中的数值?

时间:2010-02-15 01:21:15

标签: cocoa parsing numbers

作为标题。 我测试了NSScanner,但它传递了一些奇怪的字符串。 (例如:123aaa)。 有没有办法严格转换字符串< - >数字?

2 个答案:

答案 0 :(得分:1)

您可以轻松自己动手。测试是否扫描了整个字符串,或者是否有其他字符。

NSScanner *scanner = [NSScanner localizedScannerWithString:str];
int i;
if (![scanner scanInt:&i] || [scanner scanLocation] < [str length]) {
    // str contains additional characters
    ...
} else {
    // str contains only an int
    ...
}

答案 1 :(得分:0)

NSScanner不是那么高级别。你必须自己验证字符串。

一种方法是将字符扫描到数字集,断言失败,然后扫描数字,然后scan to the end并断言失败。