文字列を10進数に変換する最も簡単な方法は何ですか?
入力:
a = 40000.00-
出力は
40,000.00-
私はこのコードを使用しようとしました:
Dim a as string
a = "4000.00-"
a = Format$(a, "#,###.##")
console.writeline (a)
_Decimal.Parse
_を使用して10進数に変換し、次に.ToString("format here")
を使用して文字列に戻します。
_Dim aAsDecimal as Decimal = Decimal.Parse(a).ToString("format here")
_
最後の手段(推奨されません):
_string s = (aAsDecimal <0) ? Math.Abs(aAsDecimal).ToString("##,###0.00") + "-" : aAsDecimal .ToString("##,###0.00");
_
Visual Basicに変換する必要があります。
Decimal.TryParseを使用する
Dim a as string
Dim b as Decimal
If Decimal.TryParse(a, b) Then
a = b.ToString("##,###.00")
Else
a = "can not parse"
End If
VB.NETの場合:
CDec(Val(string_value))
例えば、
CDec(Val(a))
結果は40000D
またはa = "400.02"の場合、400.02D
。
以下は私にとってはうまくいきますが、それが正しいかどうかはわかりません。
double a = 40000.00;
a = double.Parse(a.ToString("##,###.00"));
MessageBox.Show(a.ToString("##,###.00"));
Sub Main()
Dim convert As Func(Of String, Decimal) = _
Function(x As String) Decimal.Parse(x) ' This is a lambda expression.
Dim a = convert("-16325.62")
Dim spec As String = "N"
Console.WriteLine("{1}", spec, a.ToString(spec))
'Console.ReadLine() ' Uncomment to see value in Console output.
End Sub
Dim D@ = CDec(TextBox1.Text) '//convert string to decimal with short
このコードは機能しますが、かなり長いです:
Dim a as string
Dim b as decimal
a = "4000.00-"
b = a
If b >= 0 then
console.writeline (b.ToString("##,###.00"))
Else
b = Math.Abs(b)
console.writeline (b.ToString("##,###.00") & "-")
End if