zoukankan      html  css  js  c++  java
  • JS中的MOD运算

    最近研究汉诺塔非递归的时候,看到书上写了个MOD,久违啊,感觉好久没看到过了,都忘了怎么用了。

    某人:我知道,这不就是取余嘛,直接%就行了。

    嗯。。。。。。,如果是python语言,你说的很对,但是我要的是JS中的。搜了下,貌似JS中没有MOD方法。便于学习的使用,自己写了个。

    废话不多说,直接上代码。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>MOD运算</title>
        </head>
        <body>
            
            被除数:<input type="text" id="bcs"/> 
            除&emsp;数:<input type="text" id="cs"/> 
            结果:<span id="jg"></span>
            <input type="button" value="MOD运算" onclick="modys()" />
            
            <script>
                
                function modys(){
                    var bcs = Number(document.getElementById("bcs").value);
                    var cs = Number(document.getElementById("cs").value);
                    if(cs == 0){
                        alert("除数不能为0");
                        return;
                    }
                    if((bcs < 0 && cs < 0) || (bcs >=0 && cs >= 0)){    //同号
                        if(parseInt(bcs) == bcs && parseInt(cs) == cs){        //全为整数
                            var jg = bcs%cs;
                            document.getElementById("jg").innerHTML = jg;
                        }else{
                            /**
                             *     被除数-(整商×除数)之后在第一位小数位进行四舍五入。
                             */
                            var jg = (bcs - (Math.floor(bcs/cs) * cs)).toFixed(1);
                            document.getElementById("jg").innerHTML = jg;
                        }
                    }else{        //异号
                        /**
                         * 
                         * 除数*(正整数商 + 1)- 正数的被除数   ,最后取除数的符号。
                         */
                        var zbcs = Math.abs(bcs);        //绝对值
                        var zcs = Math.abs(cs);            //绝对值
                        var jg = Math.abs(Math.abs(cs) * (Math.floor(zbcs/zcs) + 1) - Math.abs(bcs));
                        if(cs < 0){
                            jg = -jg
                        }
                        document.getElementById("jg").innerHTML = jg;
                    }
                }
            </script>
        </body>
    </html>

    注:1.没有深度思考,按照百度百科的MOD运算介绍写的,有错误请指出,谢谢。

      2.对于小数没有精确运算,可以自己用math.js写个。

  • 相关阅读:
    hadoop再次集群搭建(3)-如何选择相应的hadoop版本
    48. Rotate Image
    352. Data Stream as Disjoint Interval
    163. Missing Ranges
    228. Summary Ranges
    147. Insertion Sort List
    324. Wiggle Sort II
    215. Kth Largest Element in an Array
    快速排序
    280. Wiggle Sort
  • 原文地址:https://www.cnblogs.com/bpjj/p/10950764.html
Copyright © 2011-2022 走看看