JS處理數(shù)據(jù)四舍五入(tofixed與round的區(qū)別詳解)
1 、tofixed方法
toFixed() 方法可把 Number 四舍五入為指定小數(shù)位數(shù)的數(shù)字。例如將數(shù)據(jù)Num保留2位小數(shù),則表示為:toFixed(Num);但是其四舍五入的規(guī)則與數(shù)學(xué)中的規(guī)則不同,使用的是銀行家舍入規(guī)則,銀行家舍入:所謂銀行家舍入法,其實(shí)質(zhì)是一種四舍六入五取偶(又稱四舍六入五留雙)法。具體規(guī)則如下:
簡單來說就是:四舍六入五考慮,五后非零就進(jìn)一,五后為零看奇偶,五前為偶應(yīng)舍去,五前為奇要進(jìn)一。
顯然這種規(guī)則不符合我們平常在數(shù)據(jù)中處理的方式。為了解決這樣的問題,可以自定義去使用Math.round方法進(jìn)行自定義式 的實(shí)現(xiàn)指定保留多少位數(shù)據(jù)進(jìn)行處理。
定義和用法
toFixed() 方法可把 Number 四舍五入為指定小數(shù)位數(shù)的數(shù)字。
語法
NumberObject.toFixed(num)
參數(shù) | 描述 |
---|---|
num | 必需。規(guī)定小數(shù)的位數(shù),是 0 ~ 20 之間的值,包括 0 和 20,有些實(shí)現(xiàn)可以支持更大的數(shù)值范圍。如果省略了該參數(shù),將用 0 代替。 |
返回值
返回 NumberObject 的字符串表示,不采用指數(shù)計(jì)數(shù)法,小數(shù)點(diǎn)后有固定的 num 位數(shù)字。如果必要,該數(shù)字會(huì)被舍入,也可以用 0 補(bǔ)足,以便它達(dá)到指定的長度。如果 num 大于 le+21,則該方法只調(diào)用 NumberObject.toString(),返回采用指數(shù)計(jì)數(shù)法表示的字符串。
拋出
當(dāng) num 太小或太大時(shí)拋出異常 RangeError。0 ~ 20 之間的值不會(huì)引發(fā)該異常。有些實(shí)現(xiàn)支持更大范圍或更小范圍內(nèi)的值。
當(dāng)調(diào)用該方法的對(duì)象不是 Number 時(shí)拋出 TypeError 異常。
實(shí)例
在本例中,我們將把數(shù)字舍入為僅有一位小數(shù)的數(shù)字:
Show the number 13.37 with one decimal:
<script type="text/javascript"> var num = new Number(13.37); document.write (num.toFixed(1)) </script>
輸出:
13.4
2 、round方法
round() 方法可把一個(gè)數(shù)字舍入為最接近的整數(shù)。例如:Math.round(x),則是將x取其最接近的整數(shù)。其取舍的方法使用的是四舍五入中的方法,符合數(shù)學(xué)中取舍的規(guī)則。對(duì)于小數(shù)的處理沒有那么便捷,但是可以根據(jù)不同的要求,進(jìn)行自定義的處理。
例如:對(duì)于X進(jìn)行保留兩位小數(shù)的處理,則可以使用Math.round(X * 100) / 100.進(jìn)行處理。
定義和用法
round() 方法可把一個(gè)數(shù)字舍入為最接近的整數(shù)。
語法
Math.round(x)
參數(shù) 描述
x 必需。必須是數(shù)字。
返回值
與 x 最接近的整數(shù)。
說明
對(duì)于 0.5,該方法將進(jìn)行上舍入。
例如,3.5 將舍入為 4,而 -3.5 將舍入為 -3。
實(shí)例
把不同的數(shù)舍入為最接近的整數(shù):
<script type="text/javascript"> document.write(Math.round(0.60) + "<br />") document.write(Math.round(0.50) + "<br />") document.write(Math.round(0.49) + "<br />") document.write(Math.round(-4.40) + "<br />") document.write(Math.round(-4.60)) </script>
輸出:
1
1
0
-4
-5
以上這篇JS處理數(shù)據(jù)四舍五入(tofixed與round的區(qū)別詳解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 盤點(diǎn)javascript 正則表達(dá)式中 中括號(hào)的【坑】
- JS使用tofixed與round處理數(shù)據(jù)四舍五入的區(qū)別
- javascript中toFixed()四舍五入使用方法詳解
- js正則表達(dá)式簡單校驗(yàn)方法
- js用正則表達(dá)式篩選年月日的實(shí)例方法
- JS中toFixed()方法四舍五入的精度問題詳解
- JavaScript 正則表達(dá)式詳解
- jmeter實(shí)現(xiàn)接口關(guān)聯(lián)的兩種方式(正則表達(dá)式提取器和json提取器)
- 在nest.js中通過正則表達(dá)式正確設(shè)置驗(yàn)證的方法
- jJavaScript中toFixed()和正則表達(dá)式的坑
相關(guān)文章
微信小程序中使用自定義圖標(biāo)(阿里icon)的方法
這篇文章主要介紹了微信小程序中使用自定義圖標(biāo)(阿里icon)的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08Javascript類型系統(tǒng)之undefined和null淺析
這篇文章主要介紹了Javascript類型系統(tǒng)之undefined和null的知識(shí),通過本文還簡單給大家介紹了javascript中null和undefined的區(qū)別的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07JS簡單判斷字符在另一個(gè)字符串中出現(xiàn)次數(shù)的2種常用方法
這篇文章主要介紹了JS簡單判斷字符在另一個(gè)字符串中出現(xiàn)次數(shù)的2種常用方法,結(jié)合實(shí)例形式分析了js字符串分割計(jì)算與正則操作2種實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-04-04分別用marquee和div+js實(shí)現(xiàn)首尾相連循環(huán)滾動(dòng)效果,僅3行代碼
這是本人2007年進(jìn)行的一項(xiàng)研究,當(dāng)時(shí)網(wǎng)絡(luò)上沒有什么既精簡又實(shí)用的循環(huán)滾動(dòng)代碼,所以就自己琢磨了段時(shí)間,最終找到這個(gè)辦法2011-09-09不用typsescript如何使用類型增強(qiáng)功能
這篇文章主要給大家介紹了關(guān)于不用typsescript如何使用類型增強(qiáng)功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03前端url拼接參數(shù)格式&?用&和??=拼接方法實(shí)例
在一些情況下需要直接往url上拼接請(qǐng)求參數(shù),下面這篇文章主要給大家介紹了關(guān)于前端url拼接參數(shù)格式&?用&和??=拼接的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02