gpt4 book ai didi

iphone - 如何在 iOS 上以全精度打印 double ?

转载 作者:行者123 更新时间:2023-12-03 18:16:26 24 4
gpt4 key购买 nike

测试用例:

NSLog(@"%f", M_PI);
NSLog(@"%@", [NSString stringWithFormat:@"%f", M_PI]);
NSLog(@"%@", [NSNumber numberWithDouble:M_PI]);

结果:

3.141593
3.141593
3.141592653589793

结论:

1) 通过 NSLog() 或 [NSString stringWithFormat] 进行打印提供的精度非常低...

2) 通过 [NSNumber numberWithDouble] 打印可提供更好的精度...

我希望得到的结果更接近原始值:3.14159265358979323846264338327950288(如 math.h 中定义)

有什么线索吗?

最佳答案

前两行舍入为 6 位小数,因为这是从 C 继承的 printf 的默认舍入长度。

第三行以最大有用精度显示数据 - IEEE 754 64 位 float 的精度略小于 16 位十进制数字,因此 math.h 中文字的所有这些数字> 毫无意义(也许它们可以被视为面向 future ,以防止 future 可能以更精确的格式重新定义)。

关于iphone - 如何在 iOS 上以全精度打印 double ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5729004/

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