如何从给定的DataTable列中删除字符?

时间:2012-12-26 18:39:42

标签: vb.net datatable

我有一个列TOTAL_DOLLARS,其中包含我要转换为String的{​​{1}}个值。但是,这些值在它们之前也有Decimal个字符(因为它们是美元金额)。我想删除这个$字符,虽然我找不到这样做的方法。

以下是我正在尝试的内容:

$

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

假设您的TOTAL_DOLLARS列包含字符串值,则以下内容应该完成此任务:

For Each row As DataRow In myTable.Rows
    Dim dollarsInRow As Decimal
    dollarsInRow = Convert.ToDecimal(row.Item("TOTAL_DOLLARS").Replace("$", String.Empty))
Next

答案 1 :(得分:1)

假设您要在“TOTAL_DOLLARS”列上保留数据完整性,只需添加所需类型的新列并循环填充它:

myTable.Columns.Add("Total", GetType(Decimal))
For Each row As DataRow In myTable.Rows
    row("Total") = Convert.ToDecimal(row("TOTAL_DOLLARS").ToString.Replace("$", ""))
Next

或像这样(保留NULL):

myTable.Columns.Add("Total", GetType(Decimal))
For Each row As DataRow In myTable.Rows
    If Not IsDBNull(row("TOTAL_DOLLARS")) Then
        row("Total") = Convert.ToDecimal(row("TOTAL_DOLLARS").ToString.Replace("$", ""))
    Else
        row("Total") = System.DBNull.Value
    End If
Next