DBNull的显示格式字符串无法按预期工作

时间:2013-12-27 08:36:38

标签: c# displayformat

大家好我已经为标签应用了显示格式字符串,如下所示

<dx:ASPxLabel ID="lblPrice" runat="server" Text='<%#Eval("Price")!=DBNull.Value? string.Format("{0:c}", Eval("Price")) :string.Format("{0:c}","0.00") %>' />

这是显示带有$符号的金额,但是当0.00为空时它没有显示$符号可以帮助我

1 个答案:

答案 0 :(得分:2)

您需要将一些数字文字传递给Format方法,以便可以应用货币格式{0:c},但您传递字符串文字"0.00"。尝试将"0.00"字面值更改为0.000.00,为您选择最易读的字面值。

string.Format("{0:c}", 0.00) //returns $0.00. 
//The same result for any numeric zero literal

而不是

string.Format("{0:c}", "0.00") //returns 0.00

您还可以将代码简化为:

<%# string.Format("{0:c}", Eval("Price") != DBNull.Value ? Eval("Price") : 0 ) %>