c# - 如何在没有 Zeros 的情况下将 Oracle 数值获取到 .NET?

标签 c# .net oracle numbers decimal

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

例如我想像这样读取数据

1

1,1

1,12

1,123

当我用 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() 的方式只排除行索引的数字。

最佳答案

它在 C# 中而不是在数据库中。

来自Documentation :

If format is null or an empty string, the return value of this instance is formatted with the general numeric format specifier (G)

通用格式包含您要避免的零。
如果要删除它,只需执行以下操作:

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

dr 是我的 OracleDataReader

关于c# - 如何在没有 Zeros 的情况下将 Oracle 数值获取到 .NET?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10981003/

相关文章:

java为oracle VARCHAR2返回空字符串值

oracle - 更新 Oracle 包中的单个过程

c# - ZIP 文件的 EOF 标记是什么?

c# - 为相同的小写和大写字符串创建不同的 GUID

c# - 最小起订量 - 安装方法中的 LINQ 谓词

c# - 从 C# dll 库读取 VB6 项目的 app.config

c# - 为什么 Task.Run 中的这种包装可以消除 ASP.NET Core 中的死锁?

c# Fluent nHibernate 主键是外键

.net - 如果 .NET 语言编译为 CIL,.NET 语言选择是否重要?

java - 从表构造树