如何减少gridview列中的小数位数asp.net C#

时间:2013-02-22 07:48:34

标签: c# asp.net web-services

我想在gridview列中只显示2位小数。列名是InsuaranceAmount,TotalAmount和TravelAssistAmoun。

for (int i = 0; i < bookingDetailsEmailRS.Length - 1; i++)
 {
BookingDetailsEmailRS[] bookingDetailsEmailRS = b.GetBookingDetails(soap, emailid, out    errorCode, out  errorAtNode);
 GridView1.DataSource = bookingDetailsEmailRS.Select(obj => new
        {
            TravelerName = obj.Travelers[0].FirstName + obj.Travelers[0].MiddleName + obj.Travelers[0].LastName,
            obj.BookingNumber,
            obj.BookingStatus,
            obj.ContactNumber,
            obj.CouponDiscountAmount,
            obj.DepartureDate,
            obj.FromCity,
            obj.ToCity,
            obj.PaidAmount,
            obj.TicketType,
            obj.InsuaranceAmount,
            obj.TotalAmount,
            obj.TravelAssistAmount
        }).ToList();


        GridView1.DataBind();    
 }

在这个变量bookingDetailsEmailRS中,我收到了回复。

3 个答案:

答案 0 :(得分:6)

使用DataFormat属性:

<asp:BoundField DataField="InsuaranceAmount" HeaderText="Total Data"  
     ReadOnly="True" SortExpression="totaldata" DataFormatString="{0:0.00}" />

对于问题的第二部分,请使用Eval方法的第二个参数来格式化数据:

<%# Eval("InsuaranceAmount", "{0:0.00}") %>

This might also be helpful

答案 1 :(得分:2)

Eval函数有两个参数,第一个是Bind能力字段,第二个是字段的格式。在控件的字段定义的这一部分中使用类似{0:0.00}的内容。

答案 2 :(得分:1)

如果是绑定列,则您具有DataFormatString属性。您可以在gridview列中仅显示2个小数位:

DataFormatString="{0:0.00}"

例如:

<asp:BoundField DataField="TotalAmount" HeaderText="Total Amount" DataFormatString="{0:0.00}" />

参考:Numeric Custom Format Strings