我在SQL Server 2000中將字段類型設置為Decimal(18,6),
在C#中用SqlDataReader dr=...;
        decimal **=dr.GetDecimal() 讀取數據。
在界面顯示出來的數據格式為: **.000000,也就是數據會有6位小數。
現想在顯示時只顯示小數點後的有效位,即0.030000 顯示為0.03,0.000003顯示為0.000003
請問是在SQL還是在C#中處理顯示格式?如何處理?謝謝!

解决方案 »

  1.   


    decimal **=dr.GetDecimal()string str = **.toString("###########0.######")
      

  2.   

    我是这么做的
    decimal **=dr.GetDecimal() string str = **.toString("N2") 
      

  3.   

    decimal **=dr.GetDecimal() string str = **.toString("#0.#")
      

  4.   

    decimal **=dr.GetDecimal() string str = **.toString("###########0.######") 没做过,上面的如果可以就学习了还有就是最初级的方法
    转换成string型后在截取后面的0string a= "0.000003";
    string b =a.TrimEnd('0');
      

  5.   

    decimal **=dr.GetDecimal();
    string str = **.toString("###########0.######");
    这样绝对可行,楼主就用这种方法吧。
      

  6.   

    你读出数据后可以这么做:
    System.Math.Round(“你读出来的数据”,2)2表示你要保留小数点的位数。
      

  7.   

    System.Math.Round(“你读出来的数据”,2)2表示你要保留小数点的位数。
      

  8.   

    结帖了说的,其实在C#中还有个方法,是Math类
    这个类很强大,返回的是一个double的值,其中我就用过Math.round(),是一个四舍五入的方法,可以指定长度,大家可以试试
      

  9.   

    用decimal.Round(decimal 要转换的变量,int 小数位数);
    deciaml d=123.34556m;
    decimal d2=0m;
    d2=decimal.Round(d,2);
    // d2=123.34;
      

  10.   

    string str = **.toString("#0.#")
      

  11.   

    ***************************************************************************思想决定行动,行动决定习惯,习惯决定命运.
    程序员在深圳QQ群,交流产生思想碰撞.部份专业群:
    程序员在深圳c++群15195967
    程序员在深圳英语学习群:23864353
    程序员在深圳c++Ⅱ17409451
    程序员在深圳嵌入式开发群37489763
    程序员在深圳移动开发群31501597
    程序员在深圳创业群33653422部份高级程序员群:
    高级群I:17538442
    高级群II:7120862部份初、中级程序员群:
    第三群:2650485
    第五群:29537639
    第四群:28702746
    第六群:10590618
    第七群:10543585
    第八群:12006492
    第九群:19063074
    第十群:2883885
    第十一群:25460595
    第十二群:9663807深圳程序员QQ群联盟成立三年多,拥有三十个以上的QQ群,人数超二千多人,大量经验丰富的老手,成员从业于大公司(如微软、IBM,SUN,华为)、来自国内著名高校和研究院成员,和有丰富实践经验的高级程序员、系统分析员(包括参加过上亿元的项目的架构师),有很热爱技术的成员(包括自己写操作系统),还有少数女程序员。推荐:深程高级群I:17538442 深程高级群II:7120862 (深程高级群不欢迎新手,如果在深圳,月薪6K以下的别加入) c++:15195967  mobile:31501597嵌入式:37489763  
    —————————————————————————————————————————— 
    如果你不是第一次看到此广告,说明我们最近T了一些人,因为我们要不断提升群的质量,保证名副其实.
    -------------------------------------------------------------------------------------
    在通过电邮、新闻组或者聊天室提出技术问题前,检查你有没有做到: 
          1. 通读手册,试着自己找答案。 
          2. 在FAQ里找答案(一份维护得好的FAQ可以包罗万象:)。 
          3. 在网上搜索(个人推荐google~)。 
          4. 向你身边精于此道的朋友打听。 
    我想我们首先应该靠自己解决问题,然后才是问!*****************************************************************************
      

  12.   

    **.ToString("f2");保留小数点后2 位
      

  13.   

    convert.tosingle()
    这方法不错
      

  14.   

    decimal **=dr.GetDecimal() string str = **.toString("###########0.######") 
      

  15.   

    支持这个方法System.Math.Round(“你读出来的数据”,2)2表示你要保留小数点的位数。