使用.NET字符串格式,如何格式化字符串以显示空(空字符串)为零(0)?

Ran*_*ger 6 .net formatting string.format string-formatting

我在ASP.NET Datagrid中使用DataBinder.Eval表达式,但我认为这个问题一般适用于.NET中的String格式.客户已请求如果字符串的值为0,则不应显示该字符串.我有以下黑客来完成这个:

<%# IIf(DataBinder.Eval(Container.DataItem, "MSDWhole").Trim = "0", "", 
    DataBinder.Eval(Container.DataItem, "MSDWhole", "{0:N0}"))  %>
Run Code Online (Sandbox Code Playgroud)

我想更改{0:N0}格式表达式,以便我可以消除IIf语句,但找不到任何有效的.

SLa*_*aks 10

您需要使用节分隔符,如下所示:

<%# DataBinder.Eval(Container.DataItem, "MSDWhole", "{0:N0;; }").Trim() %>
Run Code Online (Sandbox Code Playgroud)

请注意,只有负片段可以为空,所以我需要在0节中放置一个空格.(阅读文档)

  • 美好的一天.我学到了一些东西,甚至还没到上午10点!我希望我可以两次投票. (2认同)