0

テキストタイプとして価格列を持つアクセスデータベースがあり、いくつかの比較を行うためにそれをdoubleに変換したいのですが、問題は列に次のような値があることです。

5.22
2.5$
62.5
34.6$
45.3
65.9$

Convert.ToDouble「$」記号を含まない値で正常に機能しているので、テキストをdoubleに変換する前にテキストから$記号を削除するにはどうすればよいですか?

基本的にアイデアは

「$」があるかどうかを確認します

テキストから「$」を削除

秘密を2倍にする...

また、小数点以外は数字から削除したほうがいいでしょう

4

2 に答える 2

0

Double通貨には使用しないでください。を使用しDecimalます。

申し訳ありませんが、私はC#から来ていますが、どうでしょうか。

string str = "34.6$";
if (str.EndsWith("$"))
    str = str.Substring(0, str.Length-1);

var value = Decimal.Parse(str);

粗雑に変換:

Dim str As String = "34.6$"
If str.EndsWith("$") Then
    str = str.Substring(0, str.Length - 1)
End If

Dim value = [Decimal].Parse(str)
于 2012-08-03T03:32:22.233 に答える
0

を使用できますString.Replace。「$」をチェックする必要はありません。ある場合は交換します。

    Dim value1 As String = "12.7$"
    Dim value2 As String = value1.Replace("$", "")
    MessageBox.Show(value2)
于 2012-08-03T03:33:24.690 に答える