javascript 取整,取余數 math方法
1.丟棄小數部分,保留整數部分
parseInt() 函數可解析一個字符串,並返回一個整數。
parseInt(string, radix)
參數 | 描述 |
---|---|
string | 必需。要被解析的字符串。 |
radix |
可選。表示要解析的數字的基數。該值介於 2 ~ 36 之間。 如果省略該參數或其值為 0,則數字將以 10 為基礎來解析。如果它以 “0x” 或 “0X” 開頭,將以 16 為基數。 如果該參數小於 2 或者大於 36,則 parseInt() 將返回 NaN。 |
parseInt("10"); //返回 10 parseInt("19",10); //返回 19 (10+9) parseInt("11",2); //返回 3 (2+1) parseInt("17",8); //返回 15 (8+7) parseInt("1f",16); //返回 31 (16+15) parseInt("010"); //未定:返回 10 或 8
2.向上取整,有小數,則整數部分加1
ceil() 方法執行的是向上取整計算,它返回的是大於或等於函數參數,並且與之最接近的整數。
Math.ceil(0.60) // 1 Math.ceil(0.40) // 1 Math.ceil(5) // 5 Math.ceil(5.1) // 6 Math.ceil(-5.1) // -5 Math.ceil(-5.9) // -5
3.四舍五入
round() 方法可把一個數字舍入為最接近的整數。
Math.round(0.60) // 1 Math.round(0.40) // 0 Math.round(5) // 5 Math.round(5.1) // 5 Math.round(-5.1) // -5 Math.round(-5.9) // -6
4.向下取整
floor() 方法執行的是向下取整計算,它返回的是小於或等於函數參數,並且與之最接近的整數。
Math.floor(0.60) // 0 Math.floor(0.40) // 0 Math.floor(5) // 5 Math.floor(5.1) // 5 Math.floor(-5.1) //-6 Math.floor(-5.9) // -6
5.取余數
0%4 // 0 1%4 // 1 2%4 // 2 3%4 // 3 4%4 // 0 5%4 // 16.Math方法延伸 6.1 max() 方法,比較一組數值中的最大值,返回最大值。
var maxnum = Math.max(12,6,43,58,70); alert(maxnum); //"70"
6.2 min() 方法,比較一組數值中的最小值,返回最小值。
var minnum = Math.min(12,6,43,58,70); alert(minnum); //"6"
7.產生隨機數方法
random()方法,返回一個大於等於0小於1的隨機數,其實是小數值。
隨機數範圍用區間表示即為[0,1),包含0不包含1。
這裏有一個公式:
返回的值 = Math.floor(Math.random() * 可能值的總數 + 第一個可能的值),
套用這個公式可以返回某個整數範圍內的隨機數。
我們註意到了上面的公式中調用了 floor() 方法,因為 random() 總是返回一個小數,而我們要返回的是整數,所以得對其返回值進行舍入操作。
比如我們要隨機產生1到10之間的整數,[1,10],包含1和10,可以套用公式編寫下面的代碼:
var num = Math.floor(Math.random() * 10 + 1);
[1,10] 之間包含10個數,因此可能值的總數是10,則 random()*10,即產生 [0,10) 之間的隨機數;
第一個可能的值是1,則 random()*10+1,即產生 [1,11) 之間的隨機數;
此時它產生的最小整數是1了,但最大整數並不是10,它會產生10.xxxxxxxxxx 這樣的小數,於是用 floor() 將其向下舍入,這樣它產生的最大整數就是10了。
如果要隨機產生 [5,10] 之間的整數,那麽套用公式即可編寫這樣的代碼:
var num = Math.floor(Math.random() * 6 + 5);
[5,10] 之間包含6個數,所以可能值的總數是6,則 random()*6;第一個可能的值是5,所以 random()*6+5;最後用 floor() 將其向下舍入。
8.其他計算方法
下面的這樣方法都是用來進行各種簡單或復雜的計算。
Math.abs(num) 返回 num 的絕對值
Math.exp(num) 返回 Math.E 的 num 次冪
Math.log(num) 返回 num 的自然對數
Math.pow(num,power) 返回 num 的 power 次冪
Math.sqrt(num) 返回 num 的平方根
Math.acos(x) 返回 x 的反余弦值
Math.asin(x) 返回 x 的反正弦值
Math.atan(x) 返回 x 的反正切值
Math.atan2(y,x) 返回 y/x 的反正切值
Math.cos(x) 返回 x 的余弦值
Math.sin(x) 返回 x 的正弦值
Math.tan(x) 返回 x 的正切值
javascript 取整,取余數 math方法