gpt4 book ai didi

iphone - 如何在不丢失精度的情况下将 NSDecimalNumber 转换为 CLLocationDegrees?

转载 作者:行者123 更新时间:2023-11-28 19:18:19 26 4
gpt4 key购买 nike

我需要将 NSDecimalNumber 转换为纬度/经度值,我需要将其转换为 CLLocationDegrees。我使用了 -[NSDecimalNumber doubleValue] 方法。但是这个值失去了它的精度。我希望值相同。下面就是我要说的(希望大家已经意识到这个问题)。

NSString *coordStr = @"-33.890934125621094";
NSDecimalNumber *lat = [NSDecimalNumber decimalNumberWithString:coordStr];
NSLog(@"%@", lat); // -33.890934125621094
NSLog(@"%lf", [lat doubleValue]); // -33.890934

有什么方法可以代替上述操作吗?

最佳答案

尝试用doubleValue方法转换字符串

NSString *coordStr = @"-33.890934125621094";

NSLog(@"%.17g",coordStr.doubleValue); //-33.890934125621094

查看这篇文章:How to print a double with full precision on iOS?

编辑:文档说:typedef double CLLocationDegrees; 所以你可以double test = coordStr.doubleValue; 问题只是,NSLog 不打印完整的值(value)。但是 double var 保存了完整的值。

关于iphone - 如何在不丢失精度的情况下将 NSDecimalNumber 转换为 CLLocationDegrees?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10879125/

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