gpt4 book ai didi

ios - NSNumberFormatter 仅格式化最多 14 位有效数字

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

我看到一些代码尝试使用以下 NSNumberFormatter 格式化经纬度。

NSNumberFormatter * sut = [[NSNumberFormatter alloc] init];
[sut setMaximumFractionDigits:20]; // also tried set to 15 or 16, not working too.
[sut setMaximumSignificantDigits:20];

NSLocale *enUSPOSIXLocale = [[NSLocale alloc]initWithLocaleIdentifier:@"en_US_POSIX"];
[sut setLocale:enUSPOSIXLocale];

NSString *expected = @"1.299129258067496"; // 16 significants digits
NSString *actual = [sut stringFromNumber:@(1.299129258067496)];

[[actual should] equal:expected];// Failed to pass, the actual is @"1.2991292580675"

虽然在这种情况下,我们可能不需要使用 NSNumberFormatter 来获得正确的结果,但我想知道为什么 NSNumberFormatter 只返回最多 14 位有效数字的字符串。

最佳答案

它只显示 14 位小数,因为 double 类型按 15 位小数四舍五入。这对我有用,因为您可以设置显示的小数位数。

[NSString stringWithFormat:@"%.20f", 1.299129258067496]

只要确保小数位数不超过数字,否则程序会用数字来填充其余部分。希望这会有所帮助。

关于ios - NSNumberFormatter 仅格式化最多 14 位有效数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37314160/

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