先介紹幾種基本方法。
1.toFixed()方法
toFixed() 方法是屬於 Number 對象的方法,可以把 Number 四舍五入到指定的小數位數,括號內為小數位數,范圍為0~20,為0時即取整數。
1.5.toFixed(0) //返回2
toFixed()方法是平時使用最多的方法,因為它不僅可以取整,還可以保留指定小數位數,適用范圍較廣。
2.parseInt()方法
parseInt()直接舍棄掉小數部分,只取整數:
parseInt(1.5) //返回1
3.Math函數
Math函數共有3種:
- Math.ceil()方法,向上取整:
Math.ceil(1.5) //返回2
- Math.floor()方法,向下取整:
Math.ceil(1.5) //返回1
- Math.round()方法,四舍五入:
Math.ceil(1.5) //返回2
上面的3種方法大家應該都知道並且使用過,而位運算大概是使用最少的方法了,但其實位運算符使用十分方便,而且可以使代碼更簡潔。
4.位運算
這里介紹兩種位運算方法。
1.非運算“~”
“~”的作用是將數字轉化32位有符號整數並按位取反:
~1.5 //返回-2
因此,雙波浪線的寫法就可以把數字的小數部分舍棄,轉換為整數:
~~1.5 //返回1
在數字轉換為32位整數不會溢出的情況下可以使用,相當於Math.floor()方法。
2.或運算“|”
“|”的作用是對數字的二進制形式的每一位進行運算,有一個為1即返回1,都為0時返回0,因此將一個數字與0進行或運算時即有如下效果:
1.5|0 //返回1
位或0運算是將數字轉換為整數的寫法中速度最快的方法。需要注意的是,這兩種方法都是直接將小數舍棄。
實際上,位或1也可以起到小數化整的效果,但有意思的是,與1進行或運算時,數字的個位數會影響到取整的結果。比如“10.5|1”結果是11,“11.5|1結果也是11”,不難看出,個位數是奇數時,直接舍棄掉小數位,個位數是偶數時,舍棄掉小數位並+1。至於其中緣由,有興趣的可以去看看位運算的具體過程,畢竟本篇講的是小數取整的方法,在此就不展開了。
本文完,感謝閱讀。