在iPhone中以小数点后两位数显示格式化字符串中的浮点值

时间:2013-08-20 04:25:52

标签: iphone ios objective-c numbers

我有一个浮点数,其中我在数千个值之后插入逗号它可以正常工作

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任何想法如何形成这样的。

由于

5 个答案:

答案 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];

希望这有帮助。