我正在将一些值存储到 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/