使用 BoundField.DataFormatString 格式化货币数据,( ) 中不能包含 $ 和负数

发布于 2024-10-27 04:53:34 字数 209 浏览 4 评论 0原文

我有一个 gridview,正在为会计人员填充数据,他们希望我格式化货币值,以便它们显示时不带 $,用逗号分隔数字,并用 ( ) 包围负数,

例如:

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

我在互联网上找到了很多例子,这些例子让我很接近,但否定词周围要么没有 ( ),要么包含 $。

I have a gridview that I am populating with data for the folks in accounting and they want me to format currency values so that they display without $'s, with commas separating digits and with negative numbers surrounded by ( )

e.g.:

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

I have found lots of examples around the interwebs that get me close but there is either no ( ) around negatives or there is a $ included.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

晨曦慕雪 2024-11-03 04:53:34

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

在搞乱了一些自定义格式之后,我想通了!

var amt = new BoundField ();
amt.DataFormatString = "{0:#,##0.00;(#,##0.00);0}";

就像魅力一样。

So I guess basically the question was, what is the String.Format() call that I would make to format a currency value to the aforementioned requirements.

After messing around with some custom formats I figured it out!

var amt = new BoundField ();
amt.DataFormatString = "{0:#,##0.00;(#,##0.00);0}";

Works like a charm.

长亭外,古道边 2024-11-03 04:53:34

如果它只是没有 ( ) 的数字,那么它就像 {0:N} 一样简单,但是由于您需要 ( ) 表示负数,因此 BoundField 不是您的选择,除非您想在 sql 级别执行某些操作或在代码隐藏中直接操作数据源在它绑定到字段之前。

您的下一个选择是使用带有标签的 TemplateField 并在代码隐藏的 GV RowDataBound 事件中相应地设置该集。

If it was just numeric without ( ) it would be as simply as {0:N} but since you need ( ) for negative numbers BoundField is not your choice unless you want to do something at sql level or code-behind directly manipulating the datasouce before it is bound to the field.

You next option is to use TemplateField with a Label and set the set accordingly in GV RowDataBound Event in code-behind.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文