关于保留小数位数的为题;
//求黄金分割数;
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