日期:2014-05-16  浏览次数:20994 次

关于保留小数位数的为题;
//求黄金分割数;
 static double aa(ref double m)
        {
            double t = 1.0 / (1 + m);
            return t;
        }
        static void Main(string[] args)
        {
           
            double p=1;
            int i=0;
            while (true)
            {
                aa(ref p);
                p = 1 / (1 + aa(ref p));
                decimal y =(decimal) p;
                
                i++;
                
                if (i ==50)
                    break;
            }
            Console.WriteLine(p);
            Console.Read();
            
        }

运行结果:0.618033988749895;
但是我想的是要保留小数点后一百位,而且末位要四舍五入。
怎么去处理?说decimal类型的可以,但是我不会用,谁指教一下;

------解决方案--------------------
double和decimal都没法表达100位的精度,找找专门的数学库看看吧。
------解决方案--------------------
http://www.cnblogs.com/Sky_KWolf/archive/2010/12/05/1896993.html
------解决方案--------------------

xxoo.ToString("F2");

2表示位数 自动四舍五入 不知道你输入100会怎样 期待你的测试
------解决方案--------------------
http://social.msdn.microsoft.com/Forums/vstudio/zh-CN/cfee73ae-e065-4bae-9903-6b9c94e9ab57