BoundField дважды показывает столько знаков после запятой, сколько необходимо

У меня есть двойная переменная, назначенная связанному полю в gridview. Всегда будет максимум 5 знаков после запятой.

Связанное поле форматирует отображение в научное значение. Я предполагаю, что по умолчанию будет использоваться общий формат, который дает наиболее компактную запись с фиксированной точкой или научную нотацию (https://msdn.microsoft.com/en-us/library/system.web)..ui.webcontrols.boundfield.dataformatstring%28v=vs.110%29.aspx)

Как я могу отформатировать число, чтобы отображалось столько знаков после запятой, сколько необходимо, до 5. И не показывать научную запись?

то есть 0,00002 в настоящее время отображается как 2E-05, но я бы хотел, чтобы он отображался как 0,00002. 0.002 должно показывать как таковое, а не 0.00200. Это должно показывать 1, а не 1.00000. и Т. Д.

Таким образом, такой формат, как {0:N5}, не будет работать. {0:N} по умолчанию равно 2 знакам после запятой, поэтому тоже не работает.

Спасибо за любую помощь.


person Luke    schedule 22.05.2015    source источник
comment
Я не думаю, что вы получите то, что хотите, со стандартными кодами BoundField.DataFormatString с учетом требований. Я думаю, вам, возможно, придется запустить собственный обработчик для рендеринга этого конкретного столбца и выполнить некоторые пользовательские трюки с форматированием строк, чтобы получить то, что вы хотите.   -  person David W    schedule 22.05.2015


Ответы (1)


Спасибо за совет @David W. В конце концов я все равно разобрался. Хотя я не смог найти никакой документации по нему, вы можете задать ему надлежащие пользовательские форматы. Поэтому следующее решило мою проблему;

<asp:BoundField DataField="theField" DataFormatString="{0:0.#####}" />
person Luke    schedule 22.05.2015
comment
Что ж, думаю, я чему-то научился. Нет смысла в моем неуместном ответе усложнять ситуацию! Хорошего дня. Рад, что вы решили это. - person David W; 22.05.2015
comment
И немного покопавшись (они его немного закопали) я нашел ссылку на детали для спецификатора #. Разработано специально для того, чтобы не вставлять неуместные 0, как вам нужно. msdn.microsoft.com/en- мы/библиотека/ - person David W; 22.05.2015