JS中數(shù)字取整

綜述

js中經(jīng)常會遇到取整問題,所以做了下總結??偟膩碚f分為兩個方面,直接取整(不考慮小數(shù)點后的部分)還是計算后取整(例如四舍五入,向上取整等)。

一、直接取整

1.parseInt(number)
這大概是取整最常用的方法了,因為parseInt()不是只能處理Number類型,還可以處理字符串類型的。
parseInt()處理在處理字符串時,會從第一個不是空格的字符開始處理。如果第一個不是數(shù)字字符或者負號,則返回NaN;如果是數(shù)字字符,則會一直處理到不是數(shù)字字符為止。
注意,parseInt()可以識別各種整數(shù)格式(十進制,八進制和十六進制)。

var 
    num1 = parseInt("2015nov"),  //2015
    num2 = parseInt(""),  //NaN
    num3 = parseInt("0xA"),  //10(十六進制)
    num4 = parseInt(20.15),  //20
    num5 = parseInt(-20.15),  //-20
    num6 = parseInt("070");  //56(八進制數(shù))

2.~~number
所有取整之中最快的,位運算,一如既往的快。

var num1 = ~~20.15,  //20
    num2 = ~~(-20.15);  //-20

3.number^0

var num1 = 20.15^0,  //20
    num2 = (-20.15)^0;  //-20

4.number<<0

var num1 = 20.15 << 0,  //20
    num2 = (-20.15) << 0,  //-20

二、計算取整

1.四舍五入Math.round(number)
Math.round()是Math對象中的一個函數(shù),將數(shù)值四舍五入為最接近的整數(shù)。現(xiàn)實中很少有用到負數(shù)的四舍五入的,但是我們也可以看幾個負數(shù)的例子。

var num1 = Math.round(20.1),  //20
    num2 = Math.round(20.5),  //21
    num3 = Math.round(20.9),  //21
    num4 = Math.round(-20.1),  //-20
    num5 = Math.round(-20.5),  //-20 注意這里是-20而不是-21
    num6 = Math.round(-20.9);  //-21

2.向上取整Math.ceil(number)
Math.ceil()取向上最接近的整數(shù)。

var num1 = Math.ceil(20.1),  //21
    num2 = Math.ceil(20.5),  //21
    num3 = Math.ceil(20.9),  //21
    num4 = Math.ceil(-20.1),  //-20
    num5 = Math.ceil(-20.5),  //-20
    num6 = Math.ceil(-20.9);  //-20
    

3.向下取整Math.floor(number)
Math.floor()`取向下最接近的整數(shù)。

var num1 = Math.floor(20.1),  //20
    num2 = Math.floor(20.5),  //20
    num3 = Math.floor(20.9),  //20
    num4 = Math.floor(-20.1),  //-21
    num5 = Math.floor(-20.5),  //-21
    num6 = Math.floor(-20.9),  //-21
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容