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