格式化十进制数

时间:2011-02-19 20:28:24

标签: sql vb.net sql-server-2008 number-formatting

我正在使用VB.NET 2010 Premium和SQL Server 2008 Express。

我有一个整数,1562,我乘以0.1。

在我的SQL数据库中,我有一个名为Y_751_207的字段,为Decimal(18,0)。 在我的程序中,我有一个名为txtY_751_207的文本框。

objDataRow.item("Y_751_207") = CType(txtY_751_207.text, Double) * 0.1

当我逐步完成代码时,我确认我的结果还可以。 156.2,但当我在ListView中显示我的答案时,它显示为156.我需要将其显示为156.2。

Simulary

我有一个整数,39993824,我乘以10 ^ -6。

在我的SQL数据库中,我有一个名为Y_751_594的字段,为十进制(18,0)。 在我的程序中,我有一个名为txtY_751_594的文本框。

objDataRow.item("Y_751_594") = CType(txtY_751_594.text, Double) * 10 ^ -6.

当我逐步完成代码时,我确认我的结果还可以。 39.993824,但是当我在ListView中显示我的答案时,它显示为40.我需要它显示为39.993824。

在纸面上,我已经验证了我的结果是正确的。我试图把它做对,但我没有运气。

1 个答案:

答案 0 :(得分:2)

问题是列的数据类型:十进制(18,0)

18表示“总数位数”。

0表示“小数点右边有多少位数”

由于您的比例为0,因此您的值将四舍五入为最接近的整数。您应该决定列所需的精度和比例,并进行适当的设置。