我正在寻找一种显示以下内容的方法:
所以基本上总是两个小数,如果只有一个小数,则在小数部分加一个额外的零
什么是最好的方法?我知道我可以使用NSNumberformatter,但我不断得到“ 20000.9” =>“ 20,000.9”而不是“ 20000.9” =>“ 20,000.90”
下面是我所拥有的代码,但是它无法正常工作。
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
答案 0 :(得分:0)
您需要添加的所有内容是:
[numberFormatter2 setMinimumFractionDigits:2];
这将提供您想要的输出。
但是请删除以下几行:
[numberFormatter2 setGroupingSeparator:@","];
[numberFormatter2 setGroupingSize:3];
[numberFormatter2 setDecimalSeparator:@"."];
这种固定格式会迷惑您的许多用户。
答案 1 :(得分:-1)
您的以下代码错误
[numberFormatter2 setMaximumFractionDigits:2];
将代码更改为以下示例
[numberFormatter2 setMinimumFractionDigits:2];
这意味着您的输出结果可以包含两个以上的十进制数字。