我的需求

有一个标签具有价格值(浮点值)

如果是->那么应该是

1232.200-> 1232.2

1232.243-> 1232.243

1232.00-> 1232

我到目前为止所做的事情

1)已使用%.2f

lblPrice.text=[NSString stringWithFormat:@"%.2f",myValue];

但是它总是始终在1232.201232.241232.00之类的点后给出两位数字...

2)然后我将%.2f更改为%g
lblPrice.text=[NSString stringWithFormat:@"%g",myValue];

这样就可以为所有人提供完美的价值上述要求,但是当价值超过某个水平时,它会被转换成这样的指数形式。

如果myValue是1189243.609,则结果为1.18924e+06我不要

任何解决方案???
提前致谢..

最佳答案

我只是测试以下代码,并且可以按照您的要求工作,希望对您有所帮助:

NSNumberFormatter *NumberFormate = [[NSNumberFormatter alloc] init];
[NumberFormate setRoundingIncrement:[NSNumber numberWithDouble:0.001]];
[NumberFormate setMaximumFractionDigits:4];
[NumberFormate setMinimumFractionDigits:0];

NSLog(@"232.200 IS %@", [NumberFormate stringFromNumber:[NSNumber numberWithFloat:1232.200]]);
NSLog(@"1232.243 IS %@", [NumberFormate stringFromNumber:[NSNumber numberWithFloat:1232.243]]);
NSLog(@"1232.00 IS %@", [NumberFormate stringFromNumber:[NSNumber numberWithFloat:1232.00]]);

它的输出是:

ios - %g在ios中给出指数形式的值(value)-LMLPHP

更新:

对于0.50,如果要输出0.5,则只需在现有代码中再添加一行,如下所示。
[NumberFormate setNumberStyle:NSNumberFormatterDecimalStyle];

关于ios - %g在ios中给出指数形式的值(value),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38046995/

10-10 21:33