SQL数据库中的合同表ContractTable有两个字段,月租金(MonthRent,decimal类型)和面积(BuildingArea,decimal类型),我要计算每平方多少元,就用MonthRent/BuildingArea。    MonthRent/BuildingArea得到的值我只保留一位小数,我选择了用Round函数,SQL数据库中会显示保留一位小数的值,再在后面跟上很多个‘0’。比如10/3=3.300000000000000,在Asp.Net界面上也是显示3.30000000000000000000.    而我在Asp。Net的界面上我只要显示3.3就可以了,而不是3.30000000000000000.    请问要怎么进一步设置呢?这个保留一位小数的数据是要显示在GridView控件中的!   那么要怎么样在这个控件中实现我想要的效果呢?我记得在GridView中可以‘编辑列’,然后再在DataFormatString中设置{0:d}等样式,是不是用这种方法呢???还是其他方法!    谢谢解答!

解决方案 »

  1.   

    在绑定事件里面进行格式化,或者    <asp:BoundField DataFormatString="{0:#.#}" HtmlEncode="false" DataField="你的字段名称" />
      

  2.   

    还有格式化字符串 
    模板列里<%# Convert.ToInt32(Eval("字段名")).ToString("n1") %>
      

  3.   

    如果保留0,则使用
    <asp:BoundField DataFormatString="{0:#.0}" HtmlEncode="false" DataField="Count2" />
      

  4.   

    <asp:BoundField DataFormatString="{0:#.#}" HtmlEncode="false" DataField="你的字段名称" /><asp:BoundField DataFormatString="{0:#.0}" HtmlEncode="false" DataField="你的字段名称" />    都可以解决问题!    但是我想多问一点!    如果我是要保留两位小数,请问该怎么写呢???
      

  5.   

    再多加个#啊
    <asp:BoundField DataFormatString="{0:#.##}" HtmlEncode="false" DataField="你的字段名称" />
      

  6.   

    <asp:BoundField DataFormatString="{0:#.##}" HtmlEncode="false" DataField="你的字段名称" />