JavaScript如何實現(xiàn)對數(shù)字保留兩位小數(shù)一位自動補零
本章節(jié)介紹一下如何實現(xiàn)對數(shù)字保留兩位小數(shù)效果,如果數(shù)字的原本小數(shù)位數(shù)不到兩位,那么缺少的就自動補零,這個也是為了統(tǒng)一的效果,先看代碼實例:
function returnFloat(value){ var value=Math.round(parseFloat(value)*100)/100; var xsd=value.toString().split("."); if(xsd.length==1){ value=value.toString()+".00"; return value; } if(xsd.length>1){ if(xsd[1].length<2){ value=value.toString()+"0"; } return value; } } var num=3.1; console.log(returnFloat(num));
上面的代碼實現(xiàn)了我們的要求,下面介紹一下它的實現(xiàn)過程。
一.代碼注釋:
1.function returnFloat(value){},參數(shù)是要被轉(zhuǎn)換的數(shù)字。
2.var value=Math.round(parseFloat(value)*100)/100,這個應(yīng)該是函數(shù)的核心之處,parseFloat(value)將參數(shù)轉(zhuǎn)換為浮點數(shù),因為參數(shù)有可能是字符串,乘以100是因為要保留兩位小數(shù),先將小數(shù)點向右移動兩個位數(shù),然后再利用Math.round()方法實行四舍五入計算,最后除以100,這樣就實現(xiàn)了保留保留兩位小數(shù),并且還具有四舍五入效果,但是這個并不完美,如果參數(shù)數(shù)字本身的小數(shù)位數(shù)大于等于2是可以的,如3.1415,但是如3或者3.0這樣的還是沒有完美的實現(xiàn),繼續(xù)看下面。
3.var xsd=value.toString().split("."),使用點"."value分隔成一個數(shù)組。
4.if(xsd.length==1){value=value.toString()+".00";return value;},如果數(shù)組的長度是1,也就是說不存在小數(shù),那么就會為這個數(shù)字添加兩個0,例如3會被轉(zhuǎn)換成3.00。
5.
if(xsd.length>1){ if(xsd[1].length<2){ value=value.toString()+"0"; } return value; }
if(xsd.length>1)用來判斷數(shù)字的長度是否大于1,也就是數(shù)字是否具有小數(shù),如有小數(shù),但是小數(shù)的位數(shù)小于2,也就是類似3.1這樣的,就會在后面加一個0,也就是會轉(zhuǎn)換為3.10。
二.相關(guān)學(xué)習(xí)教程:
1.Math.round()可以參閱javascript的Math.round()方法一章節(jié)。
2.parseFloat()函數(shù)可以參閱javascript的parseFloat()方法一章節(jié)。
3.toString()函數(shù)可以參閱javascript的Number對象的toString()方法一章節(jié)。
4.split()函數(shù)可以參閱javascript的String對象的split()方法一章節(jié)。
相關(guān)文章
詳細聊聊TypeScript中any unknown never和void的區(qū)別
這篇文章主要給大家聊聊TypeScript 中 any、unknown、never 和 void 有什么區(qū)別,文中有詳細的代碼實例講解,具有一定的參考價值,需要的朋友可以參考下2023-07-07js實現(xiàn)導(dǎo)入導(dǎo)出功能實例代碼(FileSave.js)
這篇文章主要給大家介紹了關(guān)于js實現(xiàn)導(dǎo)入導(dǎo)出功能(FileSave.js)的相關(guān)資料,FileSaver.js是在客戶端保存文件的解決方案,非常適合在客戶端上生成文件的Web應(yīng)用,需要的朋友可以參考下2023-11-11Layui table 組件的使用之初始化加載數(shù)據(jù)、數(shù)據(jù)刷新表格、傳參數(shù)
這篇文章主要介紹了Layui table 組件的使用之初始化加載數(shù)據(jù)、數(shù)據(jù)刷新表格、傳參數(shù)的實現(xiàn)代碼,需要的朋友可以參考下2017-09-09從URL中提取參數(shù)與將對象轉(zhuǎn)換為URL查詢參數(shù)的實現(xiàn)代碼
這兩種主要是對《Prototype淺析》先前略過的Sring部分中toQueryParams和Object部分的toQueryString方法的補充2012-01-01