【问题标题】:VB.net Datatable cell to stringVB.net 数据表单元格到字符串
【发布时间】:2015-11-05 18:54:38
【问题描述】:

这应该很容易..

我有一个数据表,其值类似于“1234.5”。当我将其转换为字符串时,它会丢弃小数并变为“1234”。

For Each row As DataRow In dt.Rows
    myvalue = row("ColumnName").toString

    'some other stuff with myvalue
Next

如何使输出将单元格中的内容显示为完整的字符串(包括十进制数字)? '1234.5'

谢谢!

【问题讨论】:

  • 不要添加 ToString 并确保您的变量 myvalue 是双精度数据类型...然后使用 Convert.ToString(myvalue)
  • 这是最奇怪的事情......我确认它是一个双重类型。我尝试从单元格中直接显示双精度,但它仍在截断小数。它只发生在这一列。我还有其他双精度列,它们显示小数点。我快要疯了。
  • 我发现了这个问题。这与我填充数据表的方式有关。我正在使用带有 select * 语句的 Microsoft.Jet.OLEDB.4.0。奇怪的是,如果列中的第一行有小数,它将保留其余行的小数。但是,如果第一行没有小数,它会截断所有剩余的行......这到底是怎么回事!现在我需要弄清楚如何关闭它。
  • 正确,这是我实际上在一两次之前遇到的问题。很高兴你找到了!该列是什么数据类型,您要确保它是正确的类型。如果您有混合类型,这最终可能会导致不利影响。
  • 这是我的确切问题哈哈:stackoverflow.com/questions/3232281/…

标签: vb.net datatable tostring


【解决方案1】:

这样的事情怎么样'

Imports System.Data
Module Module1

    Sub Main()
        Dim dt As New DataTable

        Dim resutls As List(Of String) = dt.AsEnumerable().Select(Function(x) x.Field(Of Double)("ColumnName").ToString()).ToList()

    End Sub

End Module​

【讨论】:

    猜你喜欢
    • 2015-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多