为什么在C#中Math.Floor4等于3?

问题描述

我正在用C#进行双打数学。有一段我的代码

for(int i = 0 ;; i++){
        double step = num / Math.Pow(10,i + 1);
        step = step - Math.Floor(step);
        step = step * 10;
        Console.WriteLine(step + " " + Math.Floor(step));
        ...
}

因此,当num等于14时,我遇到了问题。在第一次迭代(i等于0)中,Console.WriteLine给出了输出4 3,这意味着{{1 }}返回了3。是双精度问题还是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)