为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript%(模)给出了负数的负结果

JavaScript%(模)给出了负数的负结果

JavaScript%(模)给出了负数的负结果根据谷歌计算器 (-13) % 64是51.根据Javascript(见这个)JSBin)是-13.我该怎么解决这个问题?
查看完整描述

3 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

Number.prototype.mod = function(n) {
    return ((this%n)+n)%n;};

摘自本条:JavaScript模块Bug


查看完整回答
反对 回复 2019-07-11
?
aluckdog

TA贡献1847条经验 获得超7个赞

返回一个正结果的“mod”函数。


var mod = function (n, m) {

    var remain = n % m;

    return Math.floor(remain >= 0 ? remain : remain + m);

};

mod(5,22)   // 5

mod(25,22)  // 3

mod(-1,22)  // 21

mod(-2,22)  // 20

mod(0,22)   // 0

mod(-1,22)  // 21

mod(-21,22) // 1

当然还有


mod(-13,64) // 51


查看完整回答
反对 回复 2019-07-11
  • 3 回答
  • 0 关注
  • 677 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信