0

変換したい値をTOTAL_DOLLARS保持する列があります。ただし、これらの値の前にも文字があります(金額であるため)。この文字を削除したいのですが、削除する方法がわかりません。StringDecimal$$

これが私が試していることです:

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 に答える