ios - double 丢失

标签 ios objective-c sqlite double

我正在将一些值存储到 sqlite 数据库中。因此,数据是作为字符串从文本字段收集的,然后转换为 double 并持久化。

这是我试过的

NSDecimalNumber 答案;
value.answer = [NSDecimalNumber decimalNumberWithString:answerValue];

如果您使用 6532.002 作为数据,它会失去精度。

知道如何解决这个问题。我知道类似的问题已被多次发布,但在尝试了一些推荐的解决方案后,我仍无法解决问题。

谢谢

最佳答案

由于 float 的工作方式,您的数字无法精确表示为 double 浮点值。如果您需要那种精确度,则需要找到另一种方式来表示它。一些选项是使用任意精度库(例如 the ones listed in this Wikipedia entry ),或使用 fixed point representation使用您需要的位数来获得所需的精度。如果您只显示数字,那么您应该将其保留为字符串。

关于ios - double 丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15215707/

相关文章:

java - 如何输入 SQL 查询以从 SQLite Netbeans 中的字符串中查找部分匹配项?

android - 从 Android Studio 浏览 SQLite 数据库

ios - 在选项卡式应用程序中保存用户对选项卡的重新排序

ios - 如何让键盘在没有 UITextField 的情况下出现

SQLITE3 : Creating database from command line takes forever

ios - 在 UIVisualEffect View 上创建一个透明孔

ios - awakeFromNib 与 drawRect 中的 CALayer

ios - 无法链接我的计时器按钮 (Xcode)

ios - Google 登录与 Facebook 登录冲突

ios - 为动画添加 UIImage 到 NSMutable 数组