如何将 NSMutableString 转换为 double 以存储在 Core Data 中?

Posted

技术标签:

【中文标题】如何将 NSMutableString 转换为 double 以存储在 Core Data 中?【英文标题】:How do I convert NSMutableString to double for storing in Core Data? 【发布时间】:2010-02-24 00:22:01 【问题描述】:

我的应用需要将从 XML 解析的纬度和经度值存储到核心数据中。目前,我有一个核心数据模型,将这些属性设置为类型double。模型对象的头文件将它们定义为NSNumber

如何将存储在CurrentNodeText 变量中的字符串转换为存储在Core Data 中所需的类型?另外,这是在 Core Data 中存储坐标数据的合适方式吗?

【问题讨论】:

【参考方案1】:

NSString 有一个doubleValue 方法,该方法将检查字符串是否看起来像双精度,如果是则返回该值(如果不是,则返回 0.0)。

至于这是否是存储坐标数据的合适方式:这取决于。二进制浮点数不能精确地表示十进制数可以表示的每个数字。在这些情况下,它们将存储一些非常接近但可能会搞砸要求精确度的计算的东西——例如,比较浮点数的相等性和测试一个浮点数是否小于另一个将不会产生准确的结果。如果精确的数字很重要,您可能更愿意将数字保存在 NSDecimalNumber、NSDecimal 或 NSString 中。

【讨论】:

+1 用于提及小数。浮点数据类型被过度使用。

以上是关于如何将 NSMutableString 转换为 double 以存储在 Core Data 中?的主要内容,如果未能解决你的问题,请参考以下文章

将汉字转换为拼音截取拼音首字母根据字母排序

将汉字转换为拼音截取拼音首字母根据字母排序

从 self 创建 NSMutableString 时出现 NSString+Extension 警告

将 NSData 转换为 Hex NSString

如何用 NSMutableString 附加 NSMutableString?

如何获取 NSMutableString 数据并将其放在不同的字符串中? [关闭]