JavaScript自定義求和函數


我愛擼碼,擼碼使我感到快樂!
大家好,我是Counter,當看到這個標題到時候是不是感覺很簡單,千萬不要大意哦,你說0.1 + 0.2 = 0.3 ?
有時候計算機並不是我們所說絕對精確,這個時候就要我們手動去干涉啦。先說說需求,當我們向你自定義的這個函數里傳入參數,當然這個實參參數你是不能固定死的,因為你永遠不知道用戶會傳入什么值進來,所以就要進行,兼容處理,例如當傳入的不是數字的話,我們就希望,這個不是數字的實參不會影響到,其他是數字的實參,就比如sum(1, 2, “victory”, true, null) 我們就希望返回的和為 是數字的實參相加,即為3。
好了還是老樣子,先看看效果:

 

 // 自定義求和函數
        function sum() {
            // 求出所傳入實參的長度
            var len = arguments.length;
            // 定義一個變量為0
            var num = 0;
            // 遍歷實參每一項
            for(var i = 0; i < len; i++) {
                // 讓實參每一項都相加,如果值為NaN的話,那么就加0,parseInt可以使 例如"111"變為數字111
                num += parseFloat(arguments[i]) || 0;
            }
            // 因為浮點數的加法不精確,0.1+0.2 = 3? 動手去試試就知道了,所以得到的結果,我們讓它只取小數后兩位,再乘以100 除以100,很有必要,如果此步剩略的話有會出現整數后面還帶着小數后兩位,還是字符串的形式,並且toFixed()方法返回的是字符串的形式
            num = num.toFixed(2) * 100 / 100;
            return num;
        }

 


免責聲明!

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



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