Math對象應用詳解

JavaScript中的Math對象提供了大量的算術運算功能和數值操做方法。javascript

JavaScript中的Math對象的不同凡響之處在於,它是一個全局對象。在使用Math對象以前,既不須要將一個變量聲明爲Math對象,也不須要定義一個新的Math對象,JavaScript將自動地建立好Math對象,咱們只須直接使用它便可。這使得Math對象使用起來很容易。html

Math對象的屬性中包含一些常常使用的數學常量,如PI屬性(即圓周率近似值3.141592653589793)。一般狀況下,要訪問這些屬性,只須在Math以後加上一個點號(.),而後寫出要訪問的屬性名。例如,要計算一個圓的面積,可使用以下代碼:java

var radius = prompt("Give the radius of the circle", "");函數

var area = (Math.PI)*radius*radius;this

document.write("The area is " area);spa

除加(+)、減(–)、乘(*)、除(/) 4個標準算術運算外,Math對象還包含一些複雜的數學方法,用於完成算術運算沒法實現的複雜計算,例如cos()方法用於計算弧度參數的餘弦函數。下面將介紹一些常見的數學方法。htm

1.abs()方法對象

abs()方法返回所傳入參數的絕對值。實際上,絕對值就是一個數去掉正負號以後的數值。例如,–1的絕對值是1,–4的絕對值是4等。對於正數,其絕對值就是該正數自己,例如,1的絕對值就是1。ip

例如:下面的代碼對–101取絕對值,並把結果輸出在頁面上:ci

var myNumber = -101;

document.write(Math.abs(myNumber));

2.ceil()方法

ceil()方法用於向上取整,它把一個數值向上舍入到最接近的最小整數,即對於Math.ceil(n)方法,它將返回大於或等於n的最小整數。例如,10.01向上取整後爲11,–9.99向上取整後爲–9(這是由於對於負數,–9大於–10)。ceil()方法只有一個參數,即須要向上取整的數值。

ceil()方法的使用與第2章中介紹過的parseInt()方法是不一樣的。parseInt()方法只是簡單地截斷小數點以後的全部數字,把整數部分保留下來。而ceil(n)方法將向上取整,返回大於或等於n的最小整數。

例如,下面的代碼將在頁面上輸出兩行信息,第一行爲ceil()方法對101.01向上取整的結果102,第二行爲parseInt()方法取整的結果101:

var myNumber = 101.01;

document.write(Math.ceil(myNumber) "<BR>");

document.write(parseInt(myNumber));

3.floor()方法

與ceil()方法相似,floor()方法也用於對一個數字進行取整,所不一樣的是,floor()方法用於向下取整,它把一個數值向下舍入到最接近的最大整數,即對於Math.floor(n)方法,它將返回小於或等於n的最大整數。例如,Math.floor(10.01)將返回10,而Math.floor(–9.99)將返回–10。

4.round()方法

round()方法用於對一個數值進行四捨五入,即當一個數小數部分大於等於0.5時,則向上舍入,小於等於0.5時則向下舍入。

例如,對於以下代碼:

var myNumber = 44.5;

document.write(Math.round(myNumber) "<BR>");

myNumber = 44.49;

document.write(Math.round(myNumber));

對於44.5將四捨五入爲45,而對於44.49則四捨五入爲44。

5.關於取整方法的小結

正如上面所述,ceil()方法、 floor()方法和round()方法均可以進行取整操做。但各個方法的取整操做是不一樣的。對於floor(n)方法,它返回小於或等於n的最大整數;對於ceil(n)方法,它返回大於或等於n的最小整數;而round(n)方法將對n進行四捨五入。這幾個方法可能容易混淆,表4-3格則用實例進行了說明:它顯示了一列數值,以及將這些數值做爲參數分別傳入parseInt()函數、ceil()方法、floor()方法和round()方法時的返回值。

表 4-3  

參 數

parseInt()

方法的返回值

ceil()

方法的返回值

floor()

方法的返回值

round()

方法的返回值

10.25

10

11

10

10

10.75

10

11

10

11

10.5

10

11

10

11

–10.25

–10

–10

–11

–10

–10.75

–10

–10

–11

–11

–10.5

–10

–10

–11

–10

 

 

注意:與表中其餘的方法不一樣的是:parseInt()函數是一個JavaScript內置對象,而不是Math對象的一個方法。

 

若是對JavaScript中各個取整方法還不熟悉的話,下面的這個例子將演示這些方法的使用,以增進咱們對各個取整方法的理解。首先,經過提示框得到用戶輸入的一個數值,而後將該數值做爲參數分別傳入parseInt()函數、ceil()方法、 floor()方法和round()方法,各個方法的返回值將以一個表格的形式顯示在頁面上。

<html>

<body>

<script language="JavaScript" type="text/javascript">

var myNumber = prompt("Enter the number to be rounded","");

document.write("<h3>The number you entered was " myNumber "</h3><br>");

document.write("<p>The rounding results for this number are</p>");

document.write("<table width=150 border=1>");

document.write("<tr><th>Method</th><th>Result</th></tr>");

document.write("<tr><td>parseInt()</td><td>" parseInt(myNumber)

"</td></tr>");

document.write("<tr><td>ceil()</td><td>" Math.ceil(myNumber)

"</td></tr>");

document.write("<tr><td>floor()</td><td>" Math.floor(myNumber)

"</td></tr>");

document.write("<tr><td>round()</td><td>" Math.round(myNumber)

"</td></tr>");

document.write("</table>")

</script>

</body>

</html>

相關文章
相關標籤/搜索