我将一些值存储到sqlite数据库中。因此,数据从文本字段收集为字符串,然后转换为double并保持不变。
这是我试过的东西
NSDecimalNumber answer;
value.answer = [NSDecimalNumber decimalNumberWithString:answerValue];
如果您使用6532.002作为数据,则会失去其精确度。
知道如何解决这个问题。我知道类似的问题已经多次发布,但在尝试了一些推荐的解决方案后,我还没能解决这个问题。
由于
答案 0 :(得分:1)
由于浮点数的工作方式,您的数字不能完全表示为双精度浮点值。如果需要那种精度,你需要找到另一种表示它的方法。一些选项是使用任意精度库(例如the ones listed in this Wikipedia entry),或者使用fixed point representation和您需要的位数来获得所需的精度。如果您只显示数字,那么您应该将其保留为字符串。
答案 1 :(得分:0)
使用
float value=[textField.text floatValue];