gpt4 book ai didi

objective-c - 如果需要,正确使用格式说明符最多显示三位小数,否则显示零位小数?

转载 作者:可可西里 更新时间:2023-11-01 04:16:47 26 4
gpt4 key购买 nike

我发现 %g 在需要时只显示小数。如果数字是整数,则不添加尾随 .000,这样很好。但是在例如 1.12345 的情况下,我希望它能将答案缩短为 1.123。在 1.000 的情况下,我只想显示 1,因为 %g 已经这样做了。

我尝试在字符串中指定 %.3g,但这不起作用。如果有人知道答案,我将不胜感激!

最佳答案

我通过 IEEE Specification 审查了“格式字符串”的能力,据我了解,您希望的行为是不可能的。

我向您推荐使用 NSNumberFormatter 类。我写了一个符合您希望的行为的示例。希望对您有所帮助:

NSNumberFormatter *numberFormatter = [[[NSNumberFormatter alloc] init] autorelease];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[numberFormatter setMaximumFractionDigits:2];
[numberFormatter setDecimalSeparator:@"."];
[numberFormatter setGroupingSeparator:@""];
NSString *example1 = [numberFormatter stringFromNumber:[NSNumber numberWithFloat:123456.1234]];
NSLog(@"%@", example1);
NSString *example2 = [numberFormatter stringFromNumber:[NSNumber numberWithFloat:123456.00]];
NSLog(@"%@", example2);

关于objective-c - 如果需要,正确使用格式说明符最多显示三位小数,否则显示零位小数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7271560/

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