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

long相除取整
long a = 1;
            long b = 199999999999;
            MessageBox.Show((a / b).ToString());


在C#中得到结果是0,用计算器得到的结果是5.00000000000025500000......
为何结果不一样?
另外对于long形数据应该如何正确取整?
------解决方案--------------------
计算器溢出了,被除数 < 除数, 结果肯定 < 1
------解决方案--------------------
用long的话,只有整数结果。

改为double就好了:
double a = 1;

------解决方案--------------------
如果要求数据准确,请使用decimal
------解决方案--------------------
用long/long或者int/int的话,得出的结果是数学值的舍尾取整,需要将一个转为float或者double