除以不返回我期望的十进制值

Geo*_*kos 22 c# math

可能重复:
这个部门出了什么问题?

如果你分开2 / 3,它应该返回0.66666666666666667.相反,我得到0.0双值类型和0十进制.

我的目的是将偶数(例如2 / 3)和舍入除以1总是最近.

有帮助吗?

Ree*_*sey 47

你从它的声音中做整数除法.试试这个:

decimal result = 2.0 / 3.0;
Run Code Online (Sandbox Code Playgroud)

或者甚至强制它为所有操作的小数:

decimal result = 2.0m / 3.0m;
Run Code Online (Sandbox Code Playgroud)

这应该会给你一个更像你期望的结果.


msa*_*het 7

执行2/3是整数除法,它不会返回除法的小数位.要获得.666666667,你需要做2.0/3.0,这两个都是双倍的,以获得预期的答案.