4

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

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

谢谢

4

5 回答 5

7

您是否尝试过使用 NSNumberFormatter 中的 -setMaximumFractionDigits?

因此,请尝试以下操作:

[formatter setMaximumFractionDigits:2];
[formatter setMinimumFractionDigits:2];

这样你只处理 NSNumberFormatter 并且不需要在 NSString 上调用任何额外的东西。

于 2013-08-20T04:38:24.827 回答
6

简单的写

NSString *myNum = [NSString stringWithFormat:@"%.2f", yourFlotNumber];
于 2013-08-20T04:32:40.763 回答
1

试试这个,它对我来说很好......


NSNumberFormatter *formatter = [NSNumberFormatter new];

[formatter setPositiveFormat:@",##,###.00"];
NSString *formatted = [formatter stringFromNumber:[NSNumber numberWithFloat:no]];
于 2013-08-21T08:46:58.157 回答
0

我会稍微重写你的代码......我认为你不需要数字格式化程序。

float myNumber = appDelegate.C_WND_ClinInf_Average_Default;
NSString *myNumberAsText = [NSString stringWithFormat:@"%.2f",myNumber];

希望这可以帮助。

于 2013-08-20T04:42:40.670 回答
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];

试试这个......

于 2013-08-20T04:36:35.893 回答