[英]String to Float in Objective-C for Map Kit
我正在嘗試將JSON文檔中的一些經/緯度值傳遞給iPhone的Map Kit,然后在地圖上繪制點。 這些值來自NSArray:
CGFloat goLat = [valfields objectForKey: @"geo_lat"];
CGFloat golong = [valfields objectForKey: @"geo_long"];
CLLocationCoordinate2D newCoord = {golat, golong}; etc...
但是我收到“不兼容的類型”錯誤。
我的猜測是我需要將數組中的字符串值轉換為CGFloat嗎? 但我敢肯定。
有什么想法嗎?
謝謝,
G
'Casting'不是您需要做的,但是如果您的數組(實際上從您的代碼看起來像一個字典)包含字符串,那么是的,您需要將它們轉換為數字格式。 試試看:
CGFloat goLat = [[valfields objectForKey: @"geo_lat"] floatValue];
從NSString文檔 :
floatValue
以
float
返回接收者文本的float
。
- (float)floatValue
返回值
接收者文本的浮點值,為float
,在字符串的開頭跳過空白。 溢出時返回HUGE_VAL
或–HUGE_VAL
,下溢時返回0.0
。 如果接收方不是以浮點數的有效文本表示形式開頭,則還返回0.0
。
此外, NSString
具有-doubleValue
方法。 還有一個NSNumber
類,它可能比數據字符串更好的表示形式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.