Форматирование значений GridView на основе десятичных знаков

63
4

Я хочу проверить все значения gridview, и если нет десятичных знаков, я хочу показать только целую часть значения, иначе, если есть какие-то десятичные числа, я хочу показать только два десятичных знака. Я использую это, но ничего...

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int i = 0; i < e.Row.Cells.Count; i++)
{
var p = Convert.ToDouble(e.Row.Cells[i].Text);
e.Row.Cells[i].Text = String.Format("{0:0.##}", p);
}
}

Например: если значение равно 3.6666666, я хочу показать 3.66, и если значение равно 3.0000000, я хочу показать 3. Также, если значение - это строка, ничего не делать. Какие-либо предложения?

Я сделал это с кодом asp:

<asp:TemplateField HeaderText="3P" SortExpression="3POINT_MADE">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("3POINT_MADE", "{0:0.##}") + "/" + Eval("3POINT_ATTEMPT", "{0:0.##}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="DEFENSIVE_REBOUNDS" DataFormatString="{0:0.##}" HeaderText="DR" SortExpression="DEFENSIVE_REBOUNDS" />

Есть ли предложение сделать это с помощью С# за кодом? Я думаю, что это лучше и имеет лучшую производительность.

спросил(а) 2021-01-25T21:35:46+03:00 4 месяца, 3 недели назад
1
Решение
88

GridView1_RawDataBound должен быть GridView1_RowDataBound

ответил(а) 2021-01-25T21:35:46+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема