1. 程式人生 > >javascript 取整,取余數 math方法

javascript 取整,取余數 math方法

ron log 可能 註意 random color ring 最小值 code

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  // 1
6.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方法