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寫個。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM