在VB.NET中将字符串转换为十进制

use*_*787 10 vb.net string format decimal

将字符串转换为十进制的最简单方法是什么?

输入:

a = 40000.00-
Run Code Online (Sandbox Code Playgroud)

输出将是

40,000.00-
Run Code Online (Sandbox Code Playgroud)

我试着使用这段代码:

Dim a as string

a = "4000.00-"

a = Format$(a, "#,###.##")
console.writeline (a)
Run Code Online (Sandbox Code Playgroud)

Sla*_*ppy 14

使用Decimal.Parse转换为十进制数,然后用.ToString("format here")转换回一个字符串.

Dim aAsDecimal as Decimal = Decimal.Parse(a).ToString("format here")
Run Code Online (Sandbox Code Playgroud)

最后的方法(不推荐):

string s = (aAsDecimal <0) ? Math.Abs(aAsDecimal).ToString("##,###0.00") + "-" : aAsDecimal .ToString("##,###0.00");
Run Code Online (Sandbox Code Playgroud)

您将不得不翻译为Visual Basic.


chr*_*ie1 6

使用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
Run Code Online (Sandbox Code Playgroud)


小智 5

对于 VB.NET:

CDec(Val(string_value))
Run Code Online (Sandbox Code Playgroud)

例如,

CDec(Val(a))
Run Code Online (Sandbox Code Playgroud)

结果将是40000D或者如果 a = "400.02" 的值,那么它将是400.02D