从UItextfield后NSFormatter十进制转换中提取数值

时间:2015-02-01 22:26:48

标签: objective-c

我让用户在文本字段中输入一个数字,比如900000.然后将其格式化为十进制并在屏幕上显示为900,000。当我尝试从格式化文本字段中提取数值时,返回的数字是900.建议?

2 个答案:

答案 0 :(得分:1)

您可以在转换为数字之前删除

stringByReplacingOccurrencesOfString:@"," withString:@""

但是,在使用'作为小数点的世界的大部分地区,这不会起作用。

最好使用NSNumberFormatter:

NSNumberFormatter *numberFormatter = [NSNumberFormatter new];
numberFormatter.numberStyle = NSNumberFormatterDecimalStyle;
NSNumber *numberObject = [numberFormatter numberFromString:@"900,000"];
NSLog(@"numberObject: %@", numberObject);
int numberInt = [numberObject intValue];
NSLog(@"numberInt: %d", numberInt);

输出:

  

numberObject:900000
  numberInt:900000

答案 1 :(得分:0)

你试过删除逗号吗?

str = [str stringByReplacingOccurrencesOfString:@","
                                     withString:@""];

int value = [str intValue];