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

时间:2012-03-28 11:09:37

标签: vb.net

此代码 -

Convert.ToDecimal("28.9100000000000000").ToString("c")

会将包含小数值的字符串转换为格式正确的货币值。无论如何在没有先将字符串值转换为小数的情况下执行此操作?

3 个答案:

答案 0 :(得分:5)

我使用的一种简单方法:

MoneyString = string.format("{0:C}",DecimalValue)

答案 1 :(得分:3)

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

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

 "$" & myString.Substring(0, myString.IndexOf(".") + 3)

答案 2 :(得分:1)

这个怎么样?

decimalString = "28.910000000000000000"
currencyString = "$" + decimalString.SubString(0, decimalString.IndexOf('.') + 3)

当然,如果您要这样做,您还需要担心区域设置。可能同样容易进行数值转换,让框架为您进行格式化。