2011-04-05 66 views
3

我想删除额外的零,如果他们没有任何十进制值。但如果他们有,我想向他们展示。 enter image description here十进制的修整零

在图片中,我想从10.00和20.00高度不必要的0。但我想显示下面的其他3条记录。

我用c#,asp.net 4.0和GridView来显示。

回答

2

我看不到图片,但它听起来像只需要一个格式字符串:#字符表示一个数字(如果需要),而0字符表示您将始终有一个数字。所以一个"#.##"的格式字符串听起来像它可能是你所需要的。

3

尝试

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

你可以随时按照程序员的方式去做。

定义一个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) 
}