gpt4 book ai didi

ios - %g 在 ios 中给出指数形式的值

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:56:38 25 4
gpt4 key购买 nike

我的需求

有一个标签有 Price Value (Float Value)

如果是->那么应该是

1232.200 -> 1232.2

1232.243 -> 1232.243

1232.00 -> 1232

到目前为止我做了什么

1) 使用 %.2f

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

但它总是在1232.201232.241232.00 等点后分别给出2位数字...

2) 然后我将 %.2f 更改为 %g

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

这为上述所有要求提供了完美的值(value),但是当值(value)超过某个水平时,它会像这样转换为指数形式..

如果 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]]);

它的输出是:

enter image description here

更新:

对于你的 0.50,如果你想像 0.5 那样输出,那么只需在现有代码中再添加一行,如下所示。

[NumberFormate setNumberStyle:NSNumberFormatterDecimalStyle];

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com