我尝试将一些浮点数保存到 SQLite 表中(第一次),但存储的值与我想要保存的值不同。它们几乎正是我保存的数字。这需要我在使用查询选择或填充到DataTable后对数字进行四舍五入或截断,这可能导致四舍五入的结果与实际保存的数字版本略有不同。
例如,我尝试保存这个浮点数 7.64,但实际保存的值为 7.6399998664855957,同样为 6.1(6.0999999046325684)、4.74(4.7399997711181641)、5.76(5.7600002288818359)...
你能给我一些解决方案吗?舍入不是我想要的,我只想准确保存用户输入的内容。
非常感谢您!
更新
经过一些测试,我想补充一点,问题似乎只有在我向表中添加新值时才会发生,添加后,如果我更改值(当然是通过我的应用程序),它们会完全保存我输入的内容. 这是添加新项目的代码:
DataRow dr = myDataTable.NewRow();
dr["myFloatColumn"] = float.Parse(myTextBox.Text.Trim());
myDataTable.Rows.Add(dr);
myDataAdapter.Update(myDataTable);
myDataTable.AcceptChanges();
谢谢!