gpt4 book ai didi

objective-c - 用于 NSString 的四舍五入

转载 作者:行者123 更新时间:2023-12-04 02:55:12 24 4
gpt4 key购买 nike

我有很多不同的 double 值,例如 1.00、0.25 和 2.50。我想将这些 double 舍入,使它们变成 1、0.25 和 2.5;换句话说,我想删除任何尾随的 0。有办法做到这一点吗?

目前我一直在使用 %.2f,我想知道我是否可以利用它但以某种方式对其进行调整。有人可以帮帮我吗?

最佳答案

只要您只讨论显示,这就很容易了。 format specifier你想要的是 %g:

The double argument shall be converted in the style f or e (or in the style F or E in the case of a G conversion specifier), with the precision specifying the number of significant digits [...] Trailing zeros shall be removed from the fractional portion of the result[...]

double twopointfive = 2.500;
double onepointzero = 1.0;
double pointtwofive = .25000000000;
NSLog(@"%g %f", twopointfive, twopointfive);
NSLog(@"%g %f", onepointzero, onepointzero);
NSLog(@"%g %f", pointtwofive, pointtwofive);

2011-12-06 21:27:59.180 TrailingZeroes[39506:903] 2.5 2.500000
2011-12-06 21:27:59.184 TrailingZeroes[39506:903] 1 1.000000
2011-12-06 21:27:59.185 TrailingZeroes[39506:903] 0.25 0.250000

相同的格式说明符可以与 NSNumberFormatter 一起使用,这也可以让您对有效数字进行一些控制。

当然,无法从数字在内存中的存储方式中删除尾随零。

关于objective-c - 用于 NSString 的四舍五入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8371285/

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