文字列をdouble値に変換して、注釈の座標として使用しようとしています。
マップ上に小数点以下5桁を配置するには、double値が必要です。
hello
文字列がで、必要なdoubleがであるとしましょうwhatsup
。
文字列の形式は私が望むとおりであり、それをdoubleにしたいので、文字列のdoublevalueプロパティを使用します。
NSString *hello = @"12.61655";
double whatsup = hello.doubleValue;
NSLog(@"%f",whatsup); //this gives 12.616550 WITH A ZERO in the end
NSLog(@"%.5f",whatsup); //This gives me the correct value of 12.61655 with only 5 decimal places
だから今私が書きたいのなら:
coordinate.latitude = whatsup
それは余分なゼロでダブルを与えます。
どうすれば書くことができますか
coordinate.latitude = SOMETHING HERE
小数点以下5桁のdoubleはどれですか?
どういうわけかここに「%.5f」を実装できますか?
numberformatterを試しましたが、NSnumberが表示されます。ダブルが必要です:
このコードをforループで使用して、注釈(ピン)をプロットしています。
同じforloopをdoubleで使用すると、ハードコードで正常に動作します。しかし、このコードを使用してcsvファイルから値を取得すると、ピンが取得されません。
double latitudeFromCSV = [[components objectAtIndex:0] doubleValue];
double longitudeFromCSV = [[components objectAtIndex:1] doubleValue];
CLLocationCoordinate2D annotationCoord;
annotationCoord.latitude = latitudeFromCSV;
annotationCoord.longitude = longitudeFromCSV;