如何在不使用numberfromstring的情况下将NSString转换为NSNumber

Pra*_*ypa 5 nsnumber nsstring ios4

我想在不使用numbreFromString:方法的情况下将NSString转换为NSNumber?numbreFromString:metgod在4.0中表现得很奇怪.所以我想使用替代方法将NSString转换为NSNumber.请帮我....

+ (NSString *)formatText:(NSString *) text withLocalSettings:(BOOL) isLacale {  

    NSNumber *aNsNumber= [numberFormatter numberFromString: text];  
    NSString *returnString = [NSString stringWithString:[numberFormatter stringForObjectValue:aNsNumber]];

    if(isLacale) {
        return returnString;
    }
    else {
        return [NSString stringWithFormat:@"%lf",[aNsNumber doubleValue]];
    }
} 
Run Code Online (Sandbox Code Playgroud)

0

我正在开发一个应用程序,我需要在3.0和4.0中运行我的应用程序.我有一个文本字段,当我尝试在文本字段中输入数字时,行为就像这样...在3.0中: - 它允许输入7位数和2个小数值(我已经格式化了这样).我根据所选国家/地区对数字以及逗号分隔进行了格式化和本地化.它在3.0和3.1.2中完美运行

IN 4.0: - 它允许您只输入4个数字,输入第5个数字后,它将使文本字段为空.当您输入第5个数字时没有显示任何内容,当您输入第6个数字时,它从第1个数字开始并继续同样直到4个数字.例如: - 当你输入1234时,显示文本字段 - 1234,当你输入12345时,文本字段显示为"".当你现在输入6时,它以6开始,依旧等等.

我正在使用NSNumberFormatter和numberfromstring方法格式化在文本字段中输入的值.

我无法理解为什么会这样发生......请帮助我......

dra*_*ard 16

[NSNumber numberWithInteger:[theString integerValue]];
[NSNumber numberWithDouble:[theString doubleValue]];
Run Code Online (Sandbox Code Playgroud)

还有floatValue,intValue,longLongValue,boolValue

编辑:

要删除逗号,请在执行上述操作之前使用stringByReplacingOccurrencesOfString.

theString = [theString stringByReplacingOccurrencesOfString:@"," withString:@""];
Run Code Online (Sandbox Code Playgroud)

要删除多个字符,你可以使用componentsSeparatedByCharactersInSet.

theSet = [NSCharacterSet characterSetWith...];
theString = [[theString componentsSeparatedByCharactersInSet:theSet] componentsJoinedByString:@""];
Run Code Online (Sandbox Code Playgroud)