【发布时间】:2014-04-04 10:37:28
【问题描述】:
我正在将字符串值转换为 double 并将其发送到数据库。显示 6 位小数。 这是代码
strUpdate = "UPDATE tbPrice SET dblPrice = "
+ Convert.ToDouble(txtPrice.Text.Trim())
+ ",chrCity = '" + txCity.Text.Trim()
+ "' WHERE pk_lngID = " + txtID.Text.Trim();
这里txtPrice 的值是1.23456789,但是当它更新到数据库中时,它的值变成了1.2345679。为什么四舍五入的价值。我需要得到1.234567(用户输入的值被截断到小数点后6位。
【问题讨论】:
-
什么样的数据库?列类型设置为什么?
-
它是访问,列设置为双。实际上将文本框值发送到双倍的数据库列。
-
好的,在 Access 中,您可以将字段类型设置为数字。然后设置你想要的小数位数。如果你使用小于 6,它会将数字四舍五入到第 5 位。
-
根据设计文件,我应该只选择双份。我想显示 6 位小数并为此编写代码。但仍然不明白为什么它会四舍五入。这是 C# 转换的工作原理还是什么。感谢您的帮助。
-
我认为是数据库导致了舍入,而不是您的 C#。我没有办法在 Access 中设置特定类型的“double”。我在后台打开了它,只有带有选项的“数字”。