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

use*_*998 1 .net c# 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()
Run Code Online (Sandbox Code Playgroud)

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

A.B*_*ade 6

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

文档:

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

general format包含要避免零.
如果你想删除它,只需:

string sd = dr.GetDecimal(0).ToString("G0");
Run Code Online (Sandbox Code Playgroud)

dr是我的OracleDataReader