【问题标题】:Divide not returning the decimal value I expect [duplicate]除法不返回我期望的十进制值[重复]
【发布时间】:2010-04-08 09:57:52
【问题描述】:

可能重复:
What's wrong with this division?

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

我的目的是除以偶数(例如2 / 3)并始终舍入到最接近的 1。

有什么帮助吗?

【问题讨论】:

    标签: c# math


    【解决方案1】:

    从听起来你正在做整数除法。试试这个:

    decimal result = 2.0 / 3.0;
    

    甚至对所有操作强制为小数:

    decimal result = 2.0m / 3.0m;
    

    这应该会给你一个更符合你预期的结果。

    【讨论】:

    • 确实是整数,没想到....thanx,将答案标记为第一个
    【解决方案2】:

    2/3 是整数除法,不会返回除法的小数位。要获得 .666666667,您需要执行 2.0 / 3.0 两者都是双打才能获得预期的答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-07
      • 2018-02-13
      • 1970-01-01
      • 2018-03-07
      • 2011-07-27
      • 2014-08-28
      • 2022-10-01
      • 2021-02-05
      相关资源
      最近更新 更多