2015-05-22 3 views
0

У меня есть двойная переменная, назначенная граничному полю в виде сетки. Там будет максимум 5 знаков после запятой.BoundField дважды показывает как можно больше десятичных знаков

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

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

i.e. 0.00002 в настоящее время показывается как 2E-05, но хотел бы его показать как 0.00002. 0,002 должен показать это, а не 0,00200. 1 должен показать это, а не 1.00000. и т.д.

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

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

+0

Я не думаю, что вы получите то, что хотите, со стандартными кодами BoundField.DataFormatString с учетом этого требования. Я думаю, вам, возможно, придется развернуть пользовательский обработчик для рендеринга этого конкретного столбца и выполнить некоторые пользовательские трианки форматирования строк, чтобы получить то, что вы хотите. –

ответ

1

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

<asp:BoundField DataField="theField" DataFormatString="{0:0.#####}" /> 
+0

Ну, наверное, я кое-что узнал. Нет смысла в моем нерелевантном ответе, что усложняет ситуацию! Хорошего дня. Рад, что вы решили. –

+0

И после немного копания (они вроде бы похоронили его немного) Я нашел ссылку на детали для # specifier. Разработан специально для того, чтобы не вводить ненужные 0, так же, как вам нужно. https://msdn.microsoft.com/en-us/library/0c899ak8%28v=vs.110%29.aspx#SpecifierD –