Objective c NSNumberformatter将零添加到小数部分
我正在寻找显示以下内容的方法:Objective c NSNumberformatter将零添加到小数部分,objective-c,number-formatting,Objective C,Number Formatting,我正在寻找显示以下内容的方法: “20000.5”=>“20000.50” “20000”=>“20000.00” 所以基本上总是两个小数,如果只有一个小数,就在小数部分加上一个额外的零 最好的方法是什么?我知道我可以使用NSNumberformatter,但我一直得到“20000.9”=>“20000.9”而不是“20000.9”=>“20000.90” 下面是代码,我还没有它不工作 NSNumberFormatter *numberFormatter2 = [[NSNumberForma
- “20000.5”=>“20000.50”
- “20000”=>“20000.00”
NSNumberFormatter *numberFormatter2 = [[NSNumberFormatter alloc] init];
[numberFormatter2 setGroupingSeparator:@","];
[numberFormatter2 setGroupingSize:3];
[numberFormatter2 setUsesGroupingSeparator:YES];
[numberFormatter2 setDecimalSeparator:@"."];
[numberFormatter2 setNumberStyle:NSNumberFormatterDecimalStyle];
[numberFormatter2 setMaximumFractionDigits:2];
NSString *theString = [numberFormatter2 stringFromNumber:[NSNumber numberWithDouble:1008977.2]];
NSLog(@"Number is: %@", theString);
---Number is: 1,008,977.2
- 我希望它是1008977.20
[numberFormatter2 setMinimumFractionDigits:2];
这将为您提供所需的输出
但请删除以下行:
[numberFormatter2 setGroupingSeparator:@","];
[numberFormatter2 setGroupingSize:3];
[numberFormatter2 setDecimalSeparator:@"."];
这种固定格式会让许多用户感到困惑。以下代码是错误的 [numberFormatter2 setMaximumFractionDigits:2] 将代码更改为以下示例 [numberFormatter2 setMinimumFractionDigits:2]强>
这意味着您的输出结果可以包含两个以上的十进制数。您看过NSNumberFormatter的文档了吗?你写了什么代码?您将
minimumFractionDigits
设置为什么?我将其设置为2,但不起作用。您已设置了“最大”分数位数。Not minimum.FYI-您的数字格式将使世界各地的许多用户感到困惑。许多人期望的格式与您在这里强制使用的格式非常不同。避免设置特定的分组和小数分隔符。避免设置特定的分组大小。你唯一应该设置的是分数位数的最小值和最大值。是的,它使用最小值。非常感谢!