我有一个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);
我尝试了很多东西,因为你可以看到转换为字符串等。我的控制台显示两个lat lati是相同的。
答案 0 :(得分:10)
试试这个,
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);