国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

random()方法和pow()方法

2024-07-21 02:04:29
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

閱讀本文前,請(qǐng)先閱讀:math對(duì)象應(yīng)用詳解

random()方法用于返回一個(gè)0~1之間的隨機(jī)數(shù),包含0但不包括1;pow()方法用于計(jì)算一個(gè)數(shù)的指定冪,通常具有pow(n,m)的形式。

random()方法

random()方法用于返回一個(gè)0~1之間的隨機(jī)數(shù),包含0但不包括1。如果要用javascript編寫(xiě)動(dòng)態(tài)的圖形廣告標(biāo)語(yǔ),則random()方法非常有用。

下面的例子可模擬擲骰子的游戲。下列代碼將在頁(yè)面上顯示10個(gè)隨機(jī)數(shù),單擊瀏覽器的刷新按鈕,頁(yè)面將顯示一組新的隨機(jī)數(shù):

<html>

<body>

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

var throwcount;

var dicethrow;

for (throwcount = 0; throwcount < 10; throwcount++)

{

dicethrow = (math.floor(math.random() * 6) + 1);

document.write(dicethrow + "<br>");

}

</script>

</body>

</html>

我們希望dicethrow的值在1~6之間,但是,random()方法的返回值是0~1(不包含1)之間的一個(gè)隨機(jī)的浮點(diǎn)數(shù)。為了獲得一個(gè)1~6(包含6)的隨機(jī)整數(shù),先把random()方法的返回值乘以6,以得到一個(gè)0~6(不包含6)的隨機(jī)數(shù),然后再把該隨機(jī)數(shù)加1,就得到一個(gè)1~7(不包含7)的隨機(jī)數(shù),接著再用floor()方法進(jìn)行取整,便得到一個(gè)1~6(包含6)的隨機(jī)整數(shù)。

如果想獲得1~100的隨機(jī)數(shù),只須將代碼math.random()*6 修改為math.random()*100即可。

pow()方法

pow()方法用于計(jì)算一個(gè)數(shù)的指定冪,通常具有pow(n,m)的形式。它具有兩個(gè)參數(shù),第一個(gè)參數(shù)n表示用于求冪的底數(shù),第二個(gè)參數(shù)表示冪。例如:math.pow(2,8)表示2的8次冪,即 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2的值—— 結(jié)果為256。與其他的算術(shù)運(yùn)算不同,pow()方法、sin()方法、cos()方法和acos()等方法在web程序設(shè)計(jì)中并不常用。如果應(yīng)用程序中需要進(jìn)行科學(xué)計(jì)算,則pow()方法非常有用。

 

在下面這個(gè)例子中,我們使用pow()方法編寫(xiě)了一個(gè)fix()函數(shù),用于返回一個(gè)定點(diǎn)小數(shù)位的數(shù)字。在早期的瀏覽器中并沒(méi)有提供實(shí)現(xiàn)這個(gè)功能的函數(shù),而在jscript 5.5和javascript 1.5中,已經(jīng)增加了一個(gè)實(shí)現(xiàn)該功能的方法,這正是在下一小節(jié)中我們將介紹的tofixed()方法。本示例說(shuō)明,當(dāng)需要使用javascript中沒(méi)有提供的函數(shù)時(shí),可以利用現(xiàn)有的函數(shù)來(lái)編寫(xiě)所需要的函數(shù)功能。

<html>

<head>

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

function fix(fixnumber, decimalplaces)

{

var div = math.pow(10,decimalplaces);

fixnumber = math.round(fixnumber * div) / div;

return fixnumber;

}

</script>

</head>

<body>

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

var number1 = prompt("enter the number with decimal places you want to

fix","");

var number2 = prompt("how many decimal places do you want?","");

document.write(number1 + " fixed to " + number2 + " decimal places is: ");

document.write(fix(number1,number2));

</script>

</body>

</html>

將上面的代碼保存為 ch4_examp4.htm。在瀏覽器中打開(kāi)該頁(yè)面,將會(huì)看到兩個(gè)提示對(duì)話(huà)框。在第一個(gè)提示框中,輸入一個(gè)需要進(jìn)行定點(diǎn)小數(shù)位處理的數(shù)字,例如輸入2.2345。在第二個(gè)提示框中,輸入需要定點(diǎn)的小數(shù)的位數(shù),例如輸入2。程序?qū)演斎氲臄?shù)值進(jìn)行定點(diǎn)處理后的結(jié)果顯示在頁(yè)面上。如圖4-2所示,對(duì)于我們輸入的2.2345,結(jié)果將是2.23。

圖  4-2

代碼解說(shuō)

在上面的代碼中,在頁(yè)面代碼的頭部定義了fix()函數(shù)。fix()函數(shù)具有兩個(gè)參數(shù):fixnumber和decimalplaces,其中,decimalplaces參數(shù)指出了定點(diǎn)后小數(shù)點(diǎn)之后的位數(shù)。例如,把34.76459定點(diǎn)為具有3個(gè)小數(shù)位的數(shù)字,結(jié)果為34.765。

在fix()函數(shù)中的第一行,把變量div的值設(shè)置為10的decimalplaces次冪,decimalplaces參數(shù)就是用于定點(diǎn)的小數(shù)點(diǎn)的位數(shù)。

function fix(fixnumber, decimalplaces)

{

var div = math.pow(10,decimalplaces);

下面這行代碼用于計(jì)算定點(diǎn)之后的數(shù)值:

fixnumber = math.round(fixnumber * div) / div;

表達(dá)式math.round(fixnumber * div)的作用就是將小數(shù)點(diǎn)移動(dòng)到需要保留的位數(shù)之后。例如對(duì)于2.2345,如果我們需要保留小數(shù)點(diǎn)之后的兩位數(shù),可以將它轉(zhuǎn)換為223.45。然后,再用math.round()方法對(duì)轉(zhuǎn)換后的數(shù)值進(jìn)行四舍五入,就可以得到一個(gè)去掉多余小數(shù)部分后最近似于該數(shù)的整數(shù),對(duì)223.45來(lái)說(shuō),四舍五入的結(jié)果就是223。

然后,再把這個(gè)整數(shù)除以變量div,將它轉(zhuǎn)換回相應(yīng)的小數(shù),這樣,僅有指定的小數(shù)位被保留了下來(lái)。例如對(duì)于223,將它除以100,將得到2.23。這就是將2.2345定點(diǎn)為具有2個(gè)小數(shù)位的數(shù)字的結(jié)果。通過(guò)return語(yǔ)句,可以把這個(gè)值返回給調(diào)用方。

return fixnumber;

}

在頁(yè)面的代碼中,使用了兩個(gè)prompt()提示框獲取用戶(hù)的輸入,然后用document.write()方法將取定點(diǎn)數(shù)之后的結(jié)果輸出在頁(yè)面上。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 胶州市| 潍坊市| 武义县| 蓝田县| 江达县| 墨竹工卡县| 湖南省| 阳江市| 盐山县| 玉溪市| 金秀| 景德镇市| 来安县| 海原县| 五华县| 木兰县| 灌阳县| 东乡族自治县| 武隆县| 曲靖市| 来凤县| 青河县| 嘉鱼县| 沂水县| 九寨沟县| 邛崃市| 班戈县| 塔河县| 枝江市| 镇远县| 大洼县| 随州市| 巴东县| 上蔡县| 恩平市| 垫江县| 耿马| 龙里县| 凌源市| 若尔盖县| 阜南县|