java模运算符未给出正确的结果
为什么java中的模运算符与wolfram alpha不同
我的公式是:
var = (var-x) % 10
wolfram给了我一个正确的结果
(0 - 1) % 10 = 9
Java给出了-1
我怎样才能以最好的方式解决这个问题
你可以在下面搜索框中键入要查询的问题!
为什么java中的模运算符与wolfram alpha不同
我的公式是:
var = (var-x) % 10
wolfram给了我一个正确的结果
(0 - 1) % 10 = 9
Java给出了-1
我怎样才能以最好的方式解决这个问题
# 1 楼答案
来自javaDocs:“根据这条规则,余数运算的结果只有当被除数为负时才能为负,只有当被除数为正时才能为正。此外,结果的大小总是小于除数的大小。”
# 2 楼答案
这就是
%
的定义,并且在大多数编程语言中,被认为是的工作方式,即使相反的方式有时是有用的我建议您实施自己的模方法:
# 3 楼答案
如果需要,我会为这种情况编写自己的mod,比如
# 4 楼答案
这应该可以做到: