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" );