我在数据库表中存有某字段,比如叫DataValue 类型是decimal(10,2),即保留两位小数
但是由于有些数据本来就是整型的,也存在这个表的DataValue字段,数据库自己就会为
整型的数据自动加上".00",如我的数据是12,存到数据库就会变成12.00现在客户就要求,本来就是整型的数,在GridView等列表控件中显示的时候就只显示整型,
浮点型的显示则要保留两位,即12.00的要显示为12,882.34则维持不变,不知能否通过
C#的格式化来达到目的呢?当然,要达到这个效果有土办法,比如将数值转成字符串然后再替换".00"为空字符串,但
这种方法一来效率不高,二来也是比较麻烦的事,因为有好多地方要改,实在不想那么做。还请各位大侠能够帮忙解决下问题,谢谢。

解决方案 »

  1.   

    你可以参考下:
    double tmpNum = Math.Round(tmpNum, 4);
      

  2.   

    很简单啊,
    伪代码添加
    先把你要的数字取出来.转换成字符串.
    然后用split()函数把字符串从中间的小数点分成2个元素.判断第二个元素是否==00,如果等于就去掉.
      

  3.   

    To:lihongdian 你说的方法其实我在上面已经提到了,解决方法类似吧,但不想那么做啊当然,要达到这个效果有土办法,比如将数值转成字符串然后再替换".00"为空字符串,但 
    这种方法一来效率不高,二来也是比较麻烦的事,因为有好多地方要改,实在不想那么做。 
      

  4.   

    duoble tmp=Math.Round(tmpNum, 2)>int.Parse(tmpNum)?Math.Round(tmpNum, 2):int.Parse(tmpNum);
    嘿嘿最近爱上了三元...