【发布时间】:2010-04-08 09:57:52
【问题描述】:
如果你划分2 / 3,它应该返回0.66666666666666667。相反,我得到双值类型的 0.0 和十进制的 0。
我的目的是除以偶数(例如2 / 3)并始终舍入到最接近的 1。
有什么帮助吗?
【问题讨论】:
如果你划分2 / 3,它应该返回0.66666666666666667。相反,我得到双值类型的 0.0 和十进制的 0。
我的目的是除以偶数(例如2 / 3)并始终舍入到最接近的 1。
有什么帮助吗?
【问题讨论】:
从听起来你正在做整数除法。试试这个:
decimal result = 2.0 / 3.0;
甚至对所有操作强制为小数:
decimal result = 2.0m / 3.0m;
这应该会给你一个更符合你预期的结果。
【讨论】:
2/3 是整数除法,不会返回除法的小数位。要获得 .666666667,您需要执行 2.0 / 3.0 两者都是双打才能获得预期的答案。
【讨论】: