7

下面的代码是四舍五入我的纬度字符串。我不希望它变圆。双纬度必须是 41.04546。

NSString *latitude= @"41.04546";
double lat= latitude.doubleValue;  //it gives 41.0455
CLLocationCoordinate2D coordinat;
coordinat.latitude= lat;

对于不能四舍五入的精确坐标。

4

2 回答 2

19

试试这条线..

NSString *latitude= @"41.04546";
double lat= [latitude doubleValue];
NSLog(@"\n\n Value Lat ==>> %f",lat);
于 2012-11-08T10:49:16.667 回答
2

使用 NSNumberFormatter

- (NSNumber *)numberFromString:(NSString *)string

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc]init]; 
[numberFormatter setNumberStyle:kCFNumberFormatterDecimalStyle];
NSNumber *number = [numberFormatter numberFromString:@"41.04546"];       
NSLog(@"Number : %@ , Double value : %f",number,[number doubleValue]);   

Output:Number : 41.04546 , Double value : 41.045460

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSNumberFormatter_Class/Reference/Reference.html

于 2012-11-08T10:40:35.603 回答