Обрезать нули в десятичной дроби - PullRequest
3 голосов
/ 05 апреля 2011

Я хотел бы удалить лишние нули, если у них нет десятичных значений.Но если они есть, я хотел бы показать им.enter image description here

На картинке я хочу увеличить ненужные 0 с 10.00 до 20.00.Но я хочу показать остальные 3 записи ниже.

Я использовал c #, asp.net 4.0 и GridView для отображения.

Ответы [ 5 ]

3 голосов
/ 05 апреля 2011

Если у вас возникли проблемы с форматами Строка формата .NET Kathy Kam 101 - это лучший ресурс для вас.

3 голосов
/ 05 апреля 2011

Попробуйте

<asp:BoundField DataField="Weight" DataFormatString="{0:#.##}" />
2 голосов
/ 05 апреля 2011

Я не вижу изображение, но звучит так, будто вам просто нужна строка формата: символ # представляет цифру, если она необходима, а символ 0 означает, что у вас всегда будет цифра. Поэтому строка формата "#.##" звучит так, как будто это то, что вам нужно.

2 голосов
/ 05 апреля 2011

Я полагаю, что символ "#" может работать на вас. Взгляните на «Пользовательские строки числового формата» на MSDN:

http://msdn.microsoft.com/en-us/library/0c899ak8.aspx

Вам потребуется указать «Формат» для столбца где-то в вашей конфигурации GridView.

0 голосов
/ 05 апреля 2011

Вы всегда можете пойти этим путем программистов.

Определите TemplateField, который является меткой, а его свойство Text связано так: Text='<%# WeightText( Container.DataItem ) %>'.

Определите метод WeightText в коде, который принимает Container.DataItem в качестве параметра.

protected string WeightText(object dataItem)
{
   // cast it to your object
   MyObject myObject = (MyObject)dataItem;
   decimal d = (decimal)myObject.Weight;
   decimal fraction = d - decimal.Remainder(d);
   if(fraction > 0)
       return d.ToString(); // string with fraction (format this however you want)
   else
       return decimal.Remainder(d).ToString(); // string without fraction (format this however you want)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...