使用 .NET 字符串格式化,如何格式化字符串以显示零 (0) 的空白(空字符串)?
我在 ASP.NET Datagrid 中使用 DataBinder.Eval 表达式,但我认为这个问题通常适用于 .NET 中的字符串格式。客户要求如果字符串的值为0,则不应显示。我有以下技巧来实现此目的:
<%# IIf(DataBinder.Eval(Container.DataItem, "MSDWhole").Trim = "0", "",
DataBinder.Eval(Container.DataItem, "MSDWhole", "{0:N0}")) %>
我想更改 {0:N0}
格式表达式,以便消除 IIf 语句,但找不到任何有效的内容。
I am using a DataBinder.Eval expression in an ASP.NET Datagrid, but I think this question applies to String formatting in .NET in general. The customer has requested that if the value of a string is 0, it should not be displayed. I have the following hack to accomplish this:
<%# IIf(DataBinder.Eval(Container.DataItem, "MSDWhole").Trim = "0", "",
DataBinder.Eval(Container.DataItem, "MSDWhole", "{0:N0}")) %>
I would like to change the {0:N0}
formatting expression so that I can eliminate the IIf statement, but can't find anything that works.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您需要使用部分分隔符,如下所示:
请注意只有负数部分可以为空,因此我需要在
0
部分添加一个空格。 (阅读文档)You need to use the section separator, like this:
Note that only the negative section can be empty, so I need to put a space in the
0
section. (Read the documentation)给出接受的答案:
空格放置在第三个位置,但是将
#
放置在第三个位置将消除调用Trim()
的需要。Given the accepted answer:
The a space is placed in the the 3rd position, however placing a
#
in the third position will eliminate the need to callTrim()
.使用自定义方法。
Use a custom method.
尝试在像这样绑定的同时调用函数
,并在函数内部进行您想要的格式设置
Try to call a function while binding like this
and inside the function make the formatting you want