【问题标题】:How do I convert NSMutableString to double for storing in Core Data?如何将 NSMutableString 转换为 double 以存储在 Core Data 中?
【发布时间】:2010-02-24 00:22:01
【问题描述】:
我的应用需要将从 XML 解析的纬度和经度值存储到核心数据中。目前,我有一个核心数据模型,将这些属性设置为类型double。模型对象的头文件将它们定义为NSNumber
如何将存储在CurrentNodeText 变量中的字符串转换为存储在Core Data 中所需的类型?另外,这是在 Core Data 中存储坐标数据的合适方式吗?
【问题讨论】:
标签:
cocoa
core-data
nsstring
double
【解决方案1】:
NSString 有一个doubleValue 方法,该方法将检查字符串是否看起来像双精度,如果是则返回该值(如果不是,则返回 0.0)。
至于这是否是存储坐标数据的合适方式:这取决于。二进制浮点数不能精确地表示十进制数可以表示的每个数字。在这些情况下,它们将存储一些非常接近但可能会搞砸要求精确度的计算的东西——例如,比较浮点数的相等性和测试一个浮点数是否小于另一个将不会产生准确的结果。如果精确的数字很重要,您可能更愿意将数字保存在 NSDecimalNumber、NSDecimal 或 NSString 中。