我在datagird中有一模板列,模板列中用一label控件绑定了SQL数据库中的一个属性为money的字段
我在label控件中,数据绑定自定义为DataBinder.Eval(Container.DataItem, "Petprice","{0:c}")可是显示不出  ¥60.00  这样的形式?显示出的形式还是四位小数的,60.0000请问如果要显示出¥60.00 这样的形式,该怎么办呢??谢谢啦!!

解决方案 »

  1.   

    DataBinder.Eval(Container.DataItem, "Petprice","{0:c}")你后面只是一个格式,并没有定义好呀,记得美元是这样写的,RMB不太清楚
    DataBinder.Eval(Container.DataItem, "Petprice","{0:$}")
      

  2.   

    可能是区域设置问题
    你可以用这段代码测一下NumberFormatInfo nInfo=new CultureInfo("zh-CN").NumberFormat;
    double d=33.97;
    Response.Write(d.ToString("C",nInfo));//应显示¥33.97 修改方法
    1.ASP.NET可以在<%@Page指令中加上 culture="zh-CN" uiculture="zh-CN"
    2.web.config的configuration节点,<globalization culture="zh-CN" uiculture="zh-CN"
    3.C#文件中
    //using System.Globalization;
    //using System.Threading;
    Thread.CurrentThread.CurrentCulture=new CultureInfo("zh-CN");
      

  3.   

    可是我在Datalist控件中绑定时用
    DataBinder.Eval(Container.DataItem, "Petprice","{0:c}")这个时可以显示出¥60.00  这样的形式
    ,为什么在datagrid中就不行呢??
      

  4.   

    的确有这个问题你可以加个空格,就能解决
    象这样DataBinder.Eval(Container.DataItem, "Petprice"," {0:c}")