1

如果我有这样的字符串:“55%”

为什么这没有选择百分比符号:

- (NSString*) stripPercentageSymbols : (NSString*) strToClean {

    //check to see if the number is already formatted correctly
    NSRange percentSignCheck = [strToClean rangeOfString:@"%%"];

    //only strip it if it has the %
    if (percentSignCheck.location != NSNotFound) {

        NSLog(@"ok");

        NSString* cleanedString = [strToClean substringWithRange:NSMakeRange(1, strToClean.length-2)];

        return cleanedString;
    }

    return nil;

}
4

1 回答 1

1
NSRange percentSignCheck = [strToClean rangeOfString:@"%%"];

不正确,您在这里根本没有任何格式字符串。你要

NSRange percentSignCheck = [strToClean rangeOfString:@"%"];

反而。

此外,您将字符串剪辑到的范围也是错误的。它会去除第一个字符以及尾随的百分比符号。这一行:

NSString* cleanedString = [strToClean substringWithRange:NSMakeRange(1, strToClean.length-2)];

应该

NSString* cleanedString = [strToClean substringToIndex:strToClean.length - 1;]

反而。


顺便说一句,你为什么要欺骗范围和东西?就足够了

return [strToClean stringByReplacingOccurrencesOfString:@"%" withString:@""];

反而。

于 2013-08-09T13:51:05.100 回答