2010-02-24 66 views
3

我的應用程序需要將經XML解析的緯度和經度值存儲到核心數據中。目前,我有一個核心數據模型,其中這些屬性設置爲double。模型對象的頭文件定義爲NSNumber如何將NSMutableString轉換爲雙倍存儲在Core Data中?

如何將存儲在我的CurrentNodeText變量中的字符串轉換爲所需的類型以存儲在覈心數據中?另外,這是將座標數據存儲在覈心數據中的適當方式嗎?

回答

5

NSString有一個doubleValue方法,它將檢查字符串以查看它是否看起來像double,並返回該值(如果是),則返回該值(否則返回0.0)。

至於這是否是存儲座標數據的合適方法:取決於。二進制浮點數不能精確地表示每個十進制數可以表示的數字。在這些情況下,他們會存儲一些令人難以忍受的東西,但這可能會導致精度要求過高的計算 - 例如,比較浮點數是否相等,以及測試一個浮點數是否小於另一個浮點數不會產生精確結果。如果確切數字很重要,您可能更願意將該數字保留在NSDecimalNumber,NSDecimal或NSString中。

+0

提及小數+1。浮點數據類型按原樣被濫用。 – 2010-03-12 21:37:37

相關問題