【发布时间】:2012-01-17 16:41:47
【问题描述】:
我本来是问这个here,但不得不单独问。
为什么我从数据库中得到像 2.01000000 这样的值,即使我只存储十进制 2.01?在我的数据库中,我将其视为 2.01 而不是 2.010000。 MS Access 中的字段是十进制类型,我将其存储为 2.01 本身。我正在拉这样的价值:
while(reader.Read())
Convert.ToDecimal(reader[i]);
我得到的值为 2.010000000。为什么?有没有更好的方法从数据库中读取十进制值?我将字段的精度设置为 28,比例因子设置为 18..
【问题讨论】:
-
嗯。我原以为它会是 2.010000000000000000,其中的零比 2.01000000 多。生活和学习...
-
reader[i]的原始值是多少?它是一个字符串吗?如果有,它有额外的数据吗? -
@JaredPar reader[i] 是一个对象
-
@JonHanna 确实是这样。我只是展示了一些价值。
-
@nawfal 对,但它的运行时类型是什么?
标签: c# ms-access decimal datareader