1

我有一个 ios 应用程序,可以显示您当前位置的纬度。我想将纬度的位数限制为小数点后 8 位。我使用了 NSNumberFormatter 但代码不起作用,我不知道为什么这里是代码

NSNumber* lat = [[NSNumber alloc]   initWithDouble:self.currentLocation.coordinate.latitude];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMaximumFractionDigits:8];
[formatter setRoundingMode: NSNumberFormatterRoundUp];
NSString *latit = [lat stringValue];
NSNumber *lati= [formatter numberFromString:(latit)];
NSLog(@"lat %@", lat);
NSLog(@"lati %@", lati);

我尝试了很多东西,你可以看到转换为字符串等。我的控制台显示两个纬度是相同的。

4

1 回答 1

11

试试这个,

NSNumber* lat = [[NSNumber alloc]  initWithDouble:self.currentLocation.coordinate.latitude];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];

[formatter setMaximumFractionDigits:8];

[formatter setMinimumFractionDigits:0];
NSString *result = [formatter stringFromNumber:lat];
NSLog(@"lat %@", result);
于 2013-04-03T07:43:25.477 回答