0

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

这是我正在尝试的:

For Each row As DataRow In myTable.Rows
    Replace(row.Item("TOTAL_DOLLARS"), "$", "")
Next

任何帮助深表感谢。

4

2 回答 2

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
于 2012-12-26T18:51:41.760 回答
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
于 2012-12-26T18:56:45.780 回答