当我使用Double
之类的正10, 15, 20
值并使用此公式转换为$时:
String Val=Convert.ToDouble("10").ToString("c")
然后它返回当前值,但如果我的值为-10
,则返回($10)
。它会自动附加()
并在此值之间为负double
值添加值。
谁能告诉我如何处理这个问题?
答案 0 :(得分:1)
这是系统区域特定设置,一般来说,在代码中覆盖它并不是一个好主意,因为用户决定在控制面板中使用()而不是 - 来查看底片。
如果你真的想要,可以在ToString的重载中使用NumberFormatInfo参数,但不要这样做:)
答案 1 :(得分:0)
您可以通过修改此
来更改它System.Treading.Thread.CurrentThread.Culture.NumberFormatInfo.CurrencyNegativePattern = "(${0})";
答案 2 :(得分:0)
这是播下负货币数量的标准会计方式。 您应该可以通过更改货币的Windows设置来自行更新。
如果您想拥有明确特定的格式,可以尝试
var val = 10.0d; var str = val.ToString(“$#0。##”)
或类似。
John Sheehan有一套备忘单,可以方便快速地参考 http://john-sheehan.com/blog/