以前用c++的,,把double或者float 用formart("%.2f",1234.8899005533);格式后取2位,现在用c#应该怎么做??

解决方案 »

  1.   


    double d = 1234.8899005533;
    //四舍五入取小数点后2位Response.Write(Math.Round(d, 2, MidpointRounding.AwayFromZero).ToString());//结果为1234.89
      

  2.   

    下面给出了两种方法,一种结果仍是double,另一种结果是string。
    double d = 1234.8899005533;
    double r = Math.Round(d, 2);
    Console.WriteLine(r + "<br/>");
    string s = d.ToString("F2");
    Console.WriteLine(s);
      

  3.   

    Console.WriteLine(r + "<br/>");
    改为
    Console.WriteLine(r);
      

  4.   

    你的方法4舍5入吗??
    用1楼的 Math.Round(d, 2, MidpointRounding.AwayFromZero).ToString());
    的方法不行,编译提示错误 当前上下文中不存在名称“MidpointRounding”  
      

  5.   

    本帖最后由 net_lover 于 2011-09-05 21:37:27 编辑
      

  6.   

    MidpointRounding 枚举
    http://msdn.microsoft.com/zh-cn/library/system.midpointrounding.aspx
      

  7.   

    Console.WriteLine(r + "<br/>");
    改为
    Console.WriteLine(r);
      

  8.   


                double d = 1234.8899005533;
                Console.Write(d.ToString(".##"));
      

  9.   

    你环境是什么??怎么会找不到MidpointRounding 呢??这个是可以精确到2位,1234.90的。
      

  10.   

    我说呢,晕,原来是Windows Mobile里的,那里面的是.NET Compact Framework,这个是没有的。