【问题标题】:float, double and int math in JavaJava中的float、double和int数学
【发布时间】:2010-12-27 17:26:50
【问题描述】:

我对Java中的数学有一些疑问/疑问,所以我做了一个小程序,你可以在这个链接中看到它的截图:
http://www.imageshuffle.com/view.php?filename=73doublevsfloat.jpg
这样的数字怎么可能?

f / i 不管你怎么看都应该是0.0155
i * f 应该是155 不管你怎么看
i + f 应该是101.55
i - f 应该是 98.45

等等。与双倍相同。
那么给了什么?为什么 Java 中的数学如此不正确?

【问题讨论】:

  • “为什么 Java 中的数学如此不正确?” 如有疑问,请归咎于 Java :)

标签: java math floating-point int double


【解决方案1】:

这是因为i /= f 修改了i:它相当于i = i / f(加上四舍五入)。
因此,当您执行 f / i 时,i 是 ~65 而不是 100。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-25
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多