我想将NSString转换为NSNumber而不使用numbreFromString:方法? numbreFromString:metgod在4.0中表现怪异。所以我想用另一种方法将NSString转换为NSNumber。请帮我....如何将NSString转换为NSNumber而不使用numberfromstring
+ (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]];
}
}
我开发一个应用程序,我需要运行我的应用程序都在3.0和4.0。我有一个文本框,当我尝试在文本框中输入数字时,行为就像这样...在3.0中: - 它允许输入7位数字和2个小数值(我已经像这样格式化了)。根据选择的国家,我已经格式化和定位了数字以及逗号分隔。这是在3.0和3.1.2完美工作
在4.0中: - 它允许你只输入4个数字,输入第5位数字后,它是使文本域为空..当你输入第5个数字时,你输入从第一个数字开始的第六个数字并继续相同的直到第四个数字。例如: - 当你输入1234时,文本框出现--1234,当你输入12345时,文本框出现“”。当你输入6现在它以6开头,依此类推。
我正在使用NSNumberFormatter和numberfromstring方法来格式化在文本字段中输入的值。
我无法理解为什么会发生这样的...请帮我...
我可能会试图找出为什么该方法奇怪地工作。在10个案例中,有9个问题存在于输入中。发布你的代码和输入 - 这将给我们更多的工作。 – 2010-07-02 06:38:49
+(NSString *)formatText:(NSString *)text withLocalSettings:(BOOL)isLacale { \t [numberFormatter retain]; \t NSNumber * aNsNumber = [[NSNumber alloc] init]; \t aNsNumber = [numberFormatter numberFromString:text]; \t \t // NSLog(@“NSNumber的值是...%@”,aNsNumber); \t NSString * returnString = [NSString stringWithString:[numberFormatter stringForObjectValue:aNsNumber]]; \t \t if(isLacale){ \t \t return returnString; \t} \t else { \t \t return [NSString stringWithFormat:@“%lf”,[aNsNumber doubleValue]]; \t} } – 2010-07-02 06:49:42
aNSNumber在文本字段中输入4个数字后,当您输入第5个数字到文本字段并尝试调用此formatText方法后,4.0中变为null,aNsNumber在4.0中变为null,但在3.0中变为3.1.3它工作正常.... – 2010-07-02 06:51:48