【发布时间】:2013-02-17 12:53:34
【问题描述】:
我有一个 UITextField,使用此代码,在底部的标签上打印值并对其进行格式化。
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 和设置数字的数量等。尝试 [numberFormatter setPositiveFormat:@"###0.##"];
标签: ios nsnumberformatter