以下代码无法按预期运行:
//[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
formatter.maximumFractionDigits = 2;
formatter.minimumFractionDigits = 2;
formatter.decimalSeparator = @",";
formatter.perMillSymbol = @".";
NSString *resultText = [formatter stringFromNumber:[NSNumber numberWithFloat:1234.10]];
结果字符串是1234,10,但perMillSymbol被忽略。当我取消注释setNumberStyle调用时,结果是1,234,10 - 忽略我的set perMillSymbol。
这里有什么问题?
答案 0 :(得分:3)
如果您尝试将数字格式设置为1.234,10
,请尝试以下操作:
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
formatter.maximumFractionDigits = 2;
formatter.minimumFractionDigits = 2;
formatter.decimalSeparator = @",";
formatter.groupingSeparator = @".";
NSString *resultText = [formatter stringFromNumber:[NSNumber numberWithFloat:1234.10]];
每个轧机符号用于表示百分之十(0.001)并且与十进制格式的数字无关。