修剪小数点后的零

时间:2011-04-05 15:28:07

标签: c# asp.net gridview formatting

如果它们没有任何小数值,我想删除多余的零。但如果他们有,我想向他们展示。 enter image description here

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

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

5 个答案:

答案 0 :(得分:3)

尝试

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

答案 1 :(得分:3)

如果您遇到格式问题,Kathy Kam's .NET Format String 101是最终的资源。

答案 2 :(得分:2)

我相信“#”自定义格式字符可能适合您。请查看MSDN上的“自定义数字格式字符串”:

http://msdn.microsoft.com/en-us/library/0c899ak8.aspx

您需要在GridView配置的某处指定列的“格式”。

答案 3 :(得分:2)

我看不到图片,但听起来你只需要一个格式字符串:如果需要,#字符代表一个数字,0字符表示你总是有一个数字。因此格式字符串"#.##"听起来可能就是您所需要的。

答案 4 :(得分:0)

你总是可以用程序员的方式去做。

定义一个LabelField,它是一个标签,其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)
}