変換したい値をTOTAL_DOLLARS
保持する列があります。ただし、これらの値の前にも文字があります(金額であるため)。この文字を削除したいのですが、削除する方法がわかりません。String
Decimal
$
$
これが私が試していることです:
For Each row As DataRow In myTable.Rows
Replace(row.Item("TOTAL_DOLLARS"), "$", "")
Next
どんな助けでも大歓迎です。
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
「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