此代码 -
Convert.ToDecimal("28.9100000000000000").ToString("c")
会将包含小数值的字符串转换为格式正确的货币值。无论如何在没有先将字符串值转换为小数的情况下执行此操作?
答案 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)
当然,如果您要这样做,您还需要担心区域设置。可能同样容易进行数值转换,让框架为您进行格式化。