【问题标题】:Show the float value in formatted string two digits after decimal in iPhone在 iPhone 中显示格式化字符串中小数点后两位的浮点值
【发布时间】:2013-08-20 04:25:51
【问题描述】:
我有一个浮点数,我在千值之后插入逗号,它工作正常
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 任何想法如何形成这样的。
谢谢
【问题讨论】:
标签:
iphone
ios
objective-c
numbers
【解决方案1】:
您是否尝试过使用 NSNumberFormatter 中的 -setMaximumFractionDigits?
所以,试试这样的:
[formatter setMaximumFractionDigits:2];
[formatter setMinimumFractionDigits:2];
这样你只处理 NSNumberFormatter 而不需要在 NSString 上调用任何额外的东西。
【解决方案2】:
简单的写
NSString *myNum = [NSString stringWithFormat:@"%.2f", yourFlotNumber];
【解决方案3】:
试试这个
它对我来说很好......
NSNumberFormatter *formatter = [NSNumberFormatter new];
[formatter setPositiveFormat:@",##,###.00"];
NSString *formatted = [formatter stringFromNumber:[NSNumber numberWithFloat:no]];
【解决方案4】:
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];
试试这个.....
【解决方案5】:
我会稍微重写你的代码...我认为你不需要数字格式化程序。
float myNumber = appDelegate.C_WND_ClinInf_Average_Default;
NSString *myNumberAsText = [NSString stringWithFormat:@"%.2f",myNumber];
希望这会有所帮助。