我想在不使用 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]];
}
}
0
我正在开发一个应用程序,我需要在 3.0 和 4.0 中运行我的应用程序。我有一个文本字段,当我尝试在文本字段中输入数字时,行为是这样的... IN 3.0 :- 它允许输入 7 位数字和 2 个小数值(我已将其格式化为这样)。我已经根据所选国家/地区对数字以及逗号分隔进行了格式化和本地化。它在 3.0 和 3.1.2 中完美运行
IN 4.0 : - 它只允许您输入 4 个数字,在输入第 5 个数字后,它会使文本字段为空。当您输入第 5 个数字时,没有任何显示,当您输入第 6 个数字时,它从第一个数字开始并继续相同直到 4 个数字。例如: - 当您输入 1234 时,出现文本字段 - 1234,当您输入 12345 时,文本字段出现“”。当你现在输入 6 时,它以 6 开头,依此类推。
我正在使用 NSNumberFormatter 和 numberfromstring 方法来格式化文本字段中输入的值。
我不明白为什么会这样......请帮助我......
最佳答案
[NSNumber numberWithInteger:[theString integerValue]];
[NSNumber numberWithDouble:[theString doubleValue]];
还有 floatValue、intValue、longLongValue、boolValue
编辑:
要去除逗号,请在执行上述操作之前使用 stringByReplacingOccurrencesOfString。
theString = [theString stringByReplacingOccurrencesOfString:@"," withString:@""];
要去掉一个以上的字符,您可以使用 componentsSeparatedByCharactersInSet 获得一些工作。
theSet = [NSCharacterSet characterSetWith...];
theString = [[theString componentsSeparatedByCharactersInSet:theSet] componentsJoinedByString:@""];
关于ios4 - 如何在不使用 numberfromstring 的情况下将 NSString 转换为 NSNumber,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3163652/