如果它们没有任何小数值,我想删除多余的零。但如果他们有,我想向他们展示。
在图片中,我想从10.00和20.00高度不必要的0。但是我想展示下面的其他3条记录。
我使用c#,asp.net 4.0和GridView来显示。
答案 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)
}