使用BoundField.DataFormatString来格式化货币数据,没有$和负数应该在()中

kae*_*lle 2 c# asp.net string.format boundfield

我有一个gridview,我正在填写会计人员的数据,他们希望我格式化货币值,使它们显示没有$,用逗号分隔数字和负号由()包围

例如:

 12345.67 = 12,345.67
-12345.67 =(12,345.67)

我发现很多关于互联网的例子让我很接近但是在负面附近没有()或者包含$.

kae*_*lle 8

所以我想基本上问题是,我将把一个货币值格式化为上述要求的String.Format()调用是什么.

在弄乱了一些自定义格式后,我想出来了!

var amt = new BoundField ();
amt.DataFormatString = "{0:#,##0.00;(#,##0.00);0}";
Run Code Online (Sandbox Code Playgroud)

奇迹般有效.