我有一个浮点数,其中我在数千个值之后插入逗号它可以正常工作
NSNumberFormatter *formatter = [NSNumberFormatter new];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle]; // this line is important!
NSString *formatted = [formatter stringFromNumber:[NSNumber numberWithFloat:appDelegate.C_WND_ClinInf_Average_Default]];
但它显示1,947但我希望它显示1,947.00任何想法如何形成这样的。
由于
答案 0 :(得分:7)
您是否尝试过使用NSNumberFormatter中的-setMaximumFractionDigits?
所以,试试类似:
[formatter setMaximumFractionDigits:2];
[formatter setMinimumFractionDigits:2];
这样你只处理NSNumberFormatter,不需要在NSString上调用任何额外的东西。
答案 1 :(得分:6)
简单写
NSString *myNum = [NSString stringWithFormat:@"%.2f", yourFlotNumber];
答案 2 :(得分:1)
试试这个 它对我来说很好......
NSNumberFormatter * formatter = [NSNumberFormatter new];
[formatter setPositiveFormat:@",##,###.00"];
NSString *formatted = [formatter stringFromNumber:[NSNumber numberWithFloat:no]];
答案 3 :(得分:0)
NSNumberFormatter *formatter = [NSNumberFormatter new];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle]; // this line is important!
NSString *formatted = [formatter stringFromNumber:[NSNumber numberWithFloat:appDelegate.C_WND_ClinInf_Average_Default]];
NSString *str = [[NSString alloc] initWithFormat:@"%.2f",yourfloatno];
尝试这个......
答案 4 :(得分:0)
我会稍微改写你的代码......我认为你不需要数字格式化程序。
float myNumber = appDelegate.C_WND_ClinInf_Average_Default;
NSString *myNumberAsText = [NSString stringWithFormat:@"%.2f",myNumber];
希望这有帮助。