溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

javascript格式化數(shù)字有哪幾種方法?

發(fā)布時(shí)間:2020-05-13 16:00:32 來(lái)源:億速云 閱讀:1202 作者:Leah 欄目:web開(kāi)發(fā)

javascript格式化數(shù)字有哪幾種方法?針對(duì)這個(gè)問(wèn)題,今天小編總結(jié)這篇有關(guān)javascript格式化數(shù)字的文章,希望幫助更多想學(xué)習(xí)javascript的同學(xué)找到更加簡(jiǎn)單易行的辦法。

js中格式化數(shù)字的方法有:toFixed() 方法將數(shù)字轉(zhuǎn)換為指定小數(shù)位數(shù)的數(shù)字、toPrecision() 方法在超出指定位數(shù)時(shí)轉(zhuǎn)換為指數(shù)計(jì)數(shù)法、toExponential() 方法把值轉(zhuǎn)換為指數(shù)計(jì)數(shù)法

在JavaScript中格式化數(shù)字是非常有用的,但是有時(shí)通過(guò)強(qiáng)制轉(zhuǎn)換成整數(shù),這樣的方法誤差挺大的,所以今天跟大家分享JavaScript中格式化數(shù)字的幾種常用方法,有一定的參考作用,希望對(duì)大家有所幫助

javascript格式化數(shù)字有哪幾種方法?

toFixed() 方法

可以把數(shù)字四舍五入為指定小數(shù)位數(shù)的數(shù)字

Number.toFixed(num)

num:指小數(shù)的位數(shù),它的取值范圍是 0 ~ 20 之間的值,包括 0 和 20,如果不寫這個(gè)參數(shù)的話將會(huì)用0來(lái)代替。

返回值

返回 Number的字符串表示,不采用指數(shù)計(jì)數(shù)法,小數(shù)點(diǎn)后有固定的 num 位數(shù)字。也可以用 0來(lái)補(bǔ)足,以便它達(dá)到我們所指定的長(zhǎng)度。如果我們?cè)O(shè)定的值大于length+21,則該方法只會(huì)調(diào)用 Number.toString(),返回采用指數(shù)計(jì)數(shù)法表示的字符串。

注意:當(dāng)我們?cè)O(shè)定的值太小或者太大時(shí)就會(huì)拋出異常,但在0 ~ 20 之間的值不會(huì)引發(fā)該異常

<script>
	var number=123.2344555
	console.log(number.toFixed(0));
	console.log(number.toFixed(4));
	console.log(number.toFixed(10));
</script>

結(jié)果如下:

javascript格式化數(shù)字有哪幾種方法?

toPrecision() 方法

指在對(duì)象的值超出指定位數(shù)時(shí)將其轉(zhuǎn)換為指數(shù)計(jì)數(shù)法。

Number.toPrecision(num)

num:指必須被轉(zhuǎn)換為指數(shù)計(jì)數(shù)法的最小位數(shù)。它的取值范圍是 1 ~ 21 之間(且包括 1 和 21),如果不寫這個(gè)參數(shù)的話,則會(huì)調(diào)用方法 toString(),而不是把數(shù)字轉(zhuǎn)換成十進(jìn)制的值。

返回值

返回 Number 的字符串,包含所設(shè)置的有效數(shù)字。如果 num 足夠大,能夠包括 Number整數(shù)部分的所有數(shù)字,那么返回的字符串將采用定點(diǎn)計(jì)數(shù)法表示。否則,采用指數(shù)計(jì)數(shù)法,即小數(shù)點(diǎn)前有一位數(shù)字,小數(shù)點(diǎn)后有 num-1 位數(shù)字。必要時(shí),該數(shù)字會(huì)被舍入或用 0 補(bǔ)足。

注意:當(dāng) num 設(shè)置的太小或太大時(shí)就會(huì)拋出異常 RangeError

<script>
	var number=123.2344555
	console.log(number.toPrecision(1));
	console.log(number.toPrecision(4));
	console.log(number.toPrecision(10));
</script>

結(jié)果如下:

javascript格式化數(shù)字有哪幾種方法?

toExponential() 方法

可以把值轉(zhuǎn)換成指數(shù)計(jì)數(shù)法。

Number.toExponential(num)

num:指指數(shù)計(jì)數(shù)法中的小數(shù)位數(shù),是 0 ~ 20 之間的值(包括 0 和 20),如果不寫這個(gè)參數(shù),將會(huì)使用盡可能多的數(shù)字。

返回值

返回的字符串采用指數(shù)計(jì)數(shù)法表示,即小數(shù)點(diǎn)之前有一位數(shù)字,小數(shù)點(diǎn)之后有 num 位數(shù)字。該數(shù)字的小數(shù)部分將被舍入,必要時(shí)用 0 補(bǔ)足,以便使它達(dá)到指定的長(zhǎng)度。

注意:當(dāng) num 太小或太大時(shí)會(huì)拋出異常 RangeError

<script>
	var number=123.2344555
	console.log(number.toExponential(1));
	console.log(number.toExponential(4));
	console.log(number.toExponential(10));
</script>

結(jié)果如下:

javascript格式化數(shù)字有哪幾種方法?

看完上述內(nèi)容,你們掌握javascript格式化數(shù)字的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI