Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios CLLocationCoordinationLat/lon值是否取决于区域设置?_Ios_Locale_Cllocation_Nslocale_Cllocationcoordinate2d - Fatal编程技术网

Ios CLLocationCoordinationLat/lon值是否取决于区域设置?

Ios CLLocationCoordinationLat/lon值是否取决于区域设置?,ios,locale,cllocation,nslocale,cllocationcoordinate2d,Ios,Locale,Cllocation,Nslocale,Cllocationcoordinate2d,我只需使用[NSString stringWithFormat:@“%.5f,%.5f”],即可将CLLocations转换为逗号分隔的字符串,如“75.45874,-45.17292”;然后将它们发送到我的服务器应用程序,该应用程序希望字符串为两个数字,小数点作为小数分隔符 在阅读了所有的文档之后,我一辈子都搞不清楚这些坐标是否依赖于语言环境,也就是说,如果用户在海外(我在美国),他们的位置是否会用逗号作为小数分隔符:“7545874,-4517292” 我知道一些不同的方法,如果需要,我可以

我只需使用[NSString stringWithFormat:@“%.5f,%.5f”],即可将CLLocations转换为逗号分隔的字符串,如“75.45874,-45.17292”;然后将它们发送到我的服务器应用程序,该应用程序希望字符串为两个数字,小数点作为小数分隔符

在阅读了所有的文档之后,我一辈子都搞不清楚这些坐标是否依赖于语言环境,也就是说,如果用户在海外(我在美国),他们的位置是否会用逗号作为小数分隔符:“7545874,-4517292”


我知道一些不同的方法,如果需要,我可以将逗号转换成十进制,比如使用NSNumberFormatter,我只是想弄清楚我是否真的需要?我曾尝试使用模拟器模拟位置,但我不知道区域设置是否会向下延伸到CLLocation的纬度/经度属性,并正确模拟这种情况。任何细节?

CLLocation
中的坐标表示为
CLLocationDegrees
,定义为
double
。这是浮点数,不依赖于语言环境

使用创建字符串

[NSString stringWithFormat:@"%.5f, %.5f", lat, lon]
也不依赖于区域设置
stringWithFormat
(几乎)符合 它将
%f
转换定义为

双参数应转换为十进制表示法 样式“[-]ddd.ddd”

因此,您的代码将始终生成一个点作为十进制分隔符

另一方面,
NSNumberFormatter
使用用户的区域设置首选项进行转换 除非另有规定。如果将区域设置设置为标准,则可以在您的案例中使用它 “POSIX语言环境”:

NSNumberFormatter *myFormatter = [[NSNumberFormatter alloc] init];
[myFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"]];