如何在没有零的情况下将Oracle数值赋予.NET?

时间:2012-06-11 13:25:08

标签: c# .net oracle numbers decimal

我尝试从Oracle数据库中读取数据。 问题是,在某些情况下,接收数据会在数字后面添加零,我不知道为什么会发生这种情况?!

例如,我想阅读像这样的数据

1

1,1

1,12

1123

当我用Oracle-Datareader阅读时,我得到了

1

1,10< -

1,12

1,1230< -

每当小数位数为1,3,5,7长时,它会在结果中添加一个0。 但为什么会发生这种情况? 有谁知道这种问题?

修改

Dim cmd As OracleCommand = New OracleCommand(Select_Statement, Connection)

Dim dr As OracleDataReader

dr = cmd.ExecuteReader


While dr.Read()

            If dr("C1").ToString = V1 Then

                Me.Txt_1.Text = dr.GetDecimal(3).ToString("G0")

                Me.Txt_2.Text = dr(c4)

                Me.Txt_3.Text = dr(c5)

                Me.Txt_4.Text = dr(c6)


            End If

            If dr("C2").ToString = V2 Then

                Me.Txt_5.Text = dr(c3)

                Me.Txt_6.Text = dr(c4)

                Me.Txt_7.Text = dr(c5)

                Me.Txt_8.Text = dr(c6)


            End If

        End While

dr.Close()

这是我从数据库中读取数据的方式,如果有更好的方法我会对一些提示感到高兴!因为dr.GetDecimal()的方式只排除了行索引的数字。

1 个答案:

答案 0 :(得分:6)

它在C#中,而不在DB中。

来自Documentation

  

如果format为null或为空字符串,则返回此值   实例使用通用数字格式说明符(G)格式化

general format包含您要避免的零 如果你想删除它,只需执行:

string sd = dr.GetDecimal(0).ToString("G0");

dr是我的OracleDataReader