将字符串转换为货币格式,而不首先转换为数值

ipr*_*101 6 vb.net

这段代码 -

Convert.ToDecimal("28.9100000000000000").ToString("c")
Run Code Online (Sandbox Code Playgroud)

将包含十进制值的字符串转换为格式良好的货币值.无论如何在没有先将字符串值转换为小数的情况下执行此操作?

小智 5

我使用的一个简单方法:

MoneyString = string.format("{0:C}",DecimalValue)
Run Code Online (Sandbox Code Playgroud)


Ode*_*ded 4

为了保留文化特定的货币属性(货币符号、分隔符和精度),您当前的方法看起来是最好的方法。

如果您知道精度并且不关心文化,您可以进行一些简单的字符串操作:

 "$" & myString.Substring(0, myString.IndexOf(".") + 3)
Run Code Online (Sandbox Code Playgroud)