我的要求
有一个标签具有价格值(浮动值)
如果是 - >那应该是
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位数...
2)然后我将%.2f
更改为%g
lblPrice.text=[NSString stringWithFormat:@"%g",myValue];
为所有上述要求提供完美价值,但当价值超过某个水平时,它会转换为指数形式。
如果myValue为1189243.609
,则结果为1.18924e+06
我不想要..
任何解决方案??? 在此先感谢..
答案 0 :(得分:2)
我只是测试以下代码,并按照您的要求工作,希望得到帮助:
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];
答案 1 :(得分:1)
您可以逐个尝试这两个
lblPrice.text = [NSString stringWithFormat:@"%qi", myValue];
或
lblPrice.text = [NSString stringWithFormat:@"%.0f", myValue];
或查看以下链接