我的需求
有一个标签具有价格值(浮点值)
如果是->那么应该是
1232.200-> 1232.2
1232.243-> 1232.243
1232.00-> 1232
我到目前为止所做的事情
1)已使用%.2f
lblPrice.text=[NSString stringWithFormat:@"%.2f",myValue];
但是它总是始终在
1232.20
,1232.24
和1232.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]]);
它的输出是:
更新:
对于0.50,如果要输出0.5,则只需在现有代码中再添加一行,如下所示。
[NumberFormate setNumberStyle:NSNumberFormatterDecimalStyle];
关于ios - %g在ios中给出指数形式的值(value),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38046995/