Platform: C# ASP.NET 3.5
I have a ListView which builds a Rate field which is decimal, if I simply have <% #Eval(\"Rate\") %>
it shows 4.5000 rather t
Using #.##
in the format means it should hide 0. Use 0.00
instead:
<%# Eval("Rate", "{0:0.00}") %>
See these examples:
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"
Did you try this :
<% #Eval("Rate","{0:F2}") %>
At server side Convert Decimal 2 place into 1 place. (Decimal Value).ToString("0.0");
This would work, it also adds a group separator: <%# Eval("Rate", "{0:n2}")%>
In addition to using <% #Eval("Rate","{0:F2}") %>
I also use: style="text-align:right"
Instead of trying to make the format do the correct number of digits.
Of course this could also be a CSS setting in the css file, instead of inline CSS.