【发布时间】:2014-06-01 01:20:08
【问题描述】:
我在 google/wolfram alpha 中输入这个:
-15 % 360
我得到345。
当我在 javascript 中执行此操作时,我得到 -15
https://www.google.com/search?q=-15%20%%20360
【问题讨论】:
-
自己运行它,看看我已经在 Dolphin、Safari、Chrome、Firefox、IE、Opera 等人类已知的所有环境中进行了测试
-
顺便说一句,Coffeescript 使用
%%运算符修复了这个问题。 -
它没有“损坏”。它在ECMAScript specification 中有很好的定义。
-
模必须满足 a%b=a-(a/b)*b 相对于整数除法。现在必须决定 (-15)/360、0 或 -1 的值哪个更自然。 0 给出负余数,-1 给出正余数。 JS 决定在整数除法中向 0 舍入,从而给出负余数。
标签: javascript math operator-keyword modulo