我当前的项目需要在 Windows 窗体前端的 DataGridView 列中显示一些数字。然后可以编辑这些数字并将其发送回数据库以进行更新。所有值都在 0 到 0.5 之间。为了用户的利益,我希望删除所有尾随零,但准确性也很重要,因此应将 0.123456789 的值存储为全精度。
我一直在使用 SQL 浮点数来存储数字,将它们传递给 C# 中的双精度数。这将导致正确的输出,去除试验零(例如 0.2、0.123、0.432105)。问题是由于浮点错误,某些值被不准确地传递(例如,0.208 被返回为 0.2080000002)。
为了解决这个问题,我改为在数据库和前端都使用十进制数据类型。但是,所有值现在都显示为定义的最大小数位数(例如 0.200000、0.123000、0.432105)。
我可以看到的可能解决方案是:
从 DataGridView 中的小数点中删除试验零。
尽管,
dataGridView.Columns[0].DefaultCellStyle.Format = "0.#"
似乎不起作用。
将数字准确地传递给 C# double,然后它将自动以我的首选格式显示数字。
但是,我无法实现其中任何一个。
有人能帮我解决这个问题吗?