DataBinding Eval到2个小数位不显示0

时间:2009-07-14 07:20:07

标签: asp.net listview data-binding

平台:C#ASP.NET 3.5

我有一个ListView,它构建一个十进制的Rate字段,如果我只是<% #Eval("Rate") %>它显示4.5000而不是4.5如果我使用<% #Eval("Rate","{0:#.##}") %>它显示4.5但不显示0

关于如何绑定十进制字段但仍显示0的任何建议

由于

5 个答案:

答案 0 :(得分:27)

在格式中使用#.##表示它应隐藏0.请改用0.00

<%# Eval("Rate", "{0:0.00}") %>

请参阅以下示例:

String.Format("{0:0.00}", 123.4567);   // "123.46"
String.Format("{0:0.00}", 123.4);      // "123.40"
String.Format("{0:0.00}", 123.0);      // "123.00"
String.Format("{0:0.##}", 123.4567);   // "123.46"
String.Format("{0:0.##}", 123.4);      // "123.4"
String.Format("{0:0.##}", 123.0);      // "123"

答案 1 :(得分:11)

你试过这个:

<% #Eval("Rate","{0:F2}") %>

答案 2 :(得分:1)

这样可行,它还会添加一个组分隔符:<%# Eval("Rate", "{0:n2}")%>

答案 3 :(得分:0)

除了使用<div></div><p></p> 我还使用:<% #Eval("Rate","{0:F2}") %> 而不是试图使格式做正确的数字位数。 当然,这也可能是css文件中的CSS设置,而不是内联CSS。

答案 4 :(得分:-3)

在服务器端将十进制2位转换为1位。 (十进制值).ToString(“0.0”);