DataBinding Eval To 2 Decimal Place не показывает 0
Платформа: С# ASP.NET 3.5
У меня есть ListView, который строит поле Rate, которое является десятичным, если у меня просто есть <% #Eval("Rate") %>
, он показывает 4.5000, а не 4.5, если я использую <% #Eval("Rate","{0:#.##}") %>
, он показывает 4.5, но не отображает 0
любые подсказки о том, как связать десятичное поле, но все же показывают 0
Спасибо
Ли
Ответы
Ответ 1
Использование #.##
в формате означает, что он должен скрывать 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"
Ответ 2
Вы пробовали это:
<% #Eval("Rate","{0:F2}") %>
Ответ 3
Это сработает, оно также добавит разделитель групп: <%# Eval("Rate", "{0:n2}")%>
Ответ 4
В дополнение к использованию <% #Eval("Rate","{0:F2}") %>
Я также использую: style="text-align:right"
Вместо того, чтобы пытаться сделать формат, выполните правильное количество цифр.
Конечно, это также может быть настройкой CSS в файле css, а не встроенным CSS.
Ответ 5
На стороне сервера Преобразуйте десятичное число 2 места в 1 место.
(Десятичное значение).ToString( "0.0" );