我有一个UITextField,使用此代码,打印底部标签上的值并格式化它。NSNumberFormatter不同于设备和模拟器
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setUsesGroupingSeparator:NO];
[formatter setMaximumFractionDigits:2];
[formatter setMinimumFractionDigits:2];
NSNumber *calcolo = [NSNumber numberWithDouble:[value1 doubleValue]-[self.textfield.text doubleValue]];
formattedString = [formatter stringFromNumber:calcolo];
self.label.text = formattedString;
在模拟器(美国)上,数值显示正确。在设备(IT)上,键盘上有逗号,但逗号后的值始终为零。
编辑:这工作
NSNumber *temporaryValue1 = [formatter numberFromString:[NSString stringWithFormat:@"%@",value1]];
NSNumber *temporaryTextField = [formatter numberFromString:self.textField.text];
NSNumber *calcolo = [NSNumber numberWithFloat:([temporaryValue1 floatValue] - [temporaryTextField floatValue])];
formattedString = [formatter stringFromNumber:calcolo];
,而不是setDecimalStyle,并设置diigits的数量等[尝试[numberFormatter setPositiveFormat:@“### 0。##”]; – 2013-02-17 13:42:54