国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

js保留兩位小數方法總結

來源:懂視網 責編:小OO 時間:2020-11-27 22:20:21
文檔

js保留兩位小數方法總結

再分享一個經典的解決四舍五入問題后js保留兩位小數的方法。//四舍五入保留2位小數(若第二位小數為0,則保留一位小數)function keepTwoDecimal(num) { var result = parseFloat(num);if (isNaN(result)) { alert('傳遞參數錯誤,請檢查如果大家想對javascript有系統深入的學習,可以參閱 JavaScript啟示錄 PDF原書完整版 這本經典書籍二、Js取float型小數點后兩位數的方法。
推薦度:
導讀再分享一個經典的解決四舍五入問題后js保留兩位小數的方法。//四舍五入保留2位小數(若第二位小數為0,則保留一位小數)function keepTwoDecimal(num) { var result = parseFloat(num);if (isNaN(result)) { alert('傳遞參數錯誤,請檢查如果大家想對javascript有系統深入的學習,可以參閱 JavaScript啟示錄 PDF原書完整版 這本經典書籍二、Js取float型小數點后兩位數的方法。

再分享一個經典的解決四舍五入問題后js保留兩位小數的方法:

//四舍五入保留2位小數(若第二位小數為0,則保留一位小數)
function keepTwoDecimal(num) {
 var result = parseFloat(num);
 if (isNaN(result)) {
 alert('傳遞參數錯誤,請檢查!');
 return false;
 }
 result = Math.round(num * 100) / 100;
 return result;
}
//四舍五入保留2位小數(不夠位數,則用0替補)
function keepTwoDecimalFull(num) {
 var result = parseFloat(num);
 if (isNaN(result)) {
 alert('傳遞參數錯誤,請檢查!');
 return false;
 }
 result = Math.round(num * 100) / 100;
 var s_x = result.toString();
 var pos_decimal = s_x.indexOf('.');
 if (pos_decimal < 0) {
 pos_decimal = s_x.length;
 s_x += '.';
 }
 while (s_x.length <= pos_decimal + 2) {
 s_x += '0';
 }
 return s_x;
}

如果大家想對javascript有系統深入的學習,可以參閱 JavaScript啟示錄 PDF原書完整版 這本經典書籍

二、Js取float型小數點后兩位數的方法

<script type="text/javascript"> 
 //保留兩位小數 
 //功能:將浮點數四舍五入,取小數點后2位 
 function toDecimal(x) { 
 var f = parseFloat(x); 
 if (isNaN(f)) { 
 return; 
 } 
 f = Math.round(x*100)/100; 
 return f; 
 } 
 
 //制保留2位小數,如:2,會在2后面補上00.即2.00 
 function toDecimal2(x) { 
 var f = parseFloat(x); 
 if (isNaN(f)) { 
 return false; 
 } 
 var f = Math.round(x*100)/100; 
 var s = f.toString(); 
 var rs = s.indexOf('.'); 
 if (rs < 0) { 
 rs = s.length; 
 s += '.'; 
 } 
 while (s.length <= rs + 2) { 
 s += '0'; 
 } 
 return s; 
 } 
 
 function fomatFloat(src,pos){ 
 return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos); 
 } 
 //四舍五入 
 alert("保留2位小數:" + toDecimal(3.14159267)); 
 alert("強制保留2位小數:" + toDecimal2(3.14159267)); 
 alert("保留2位小數:" + toDecimal(3.14559267)); 
 alert("強制保留2位小數:" + toDecimal2(3.15159267)); 
 alert("保留2位小數:" + fomatFloat(3.14559267, 2)); 
 alert("保留1位小數:" + fomatFloat(3.15159267, 1)); 
 
 //五舍六入 
 alert("保留2位小數:" + 1000.003.toFixed(2)); 
 alert("保留1位小數:" + 1000.08.toFixed(1)); 
 alert("保留1位小數:" + 1000.04.toFixed(1)); 
 alert("保留1位小數:" + 1000.05.toFixed(1)); 

 //科學計數 
 alert(3.1415.toExponential(2)); 
 alert(3.1455.toExponential(2)); 
 alert(3.1445.toExponential(2)); 
 alert(3.1465.toExponential(2)); 
 alert(3.1665.toExponential(1)); 
 //精確到n位,不含n位 
 alert("精確到小數點第2位" + 3.1415.toPrecision(2)); 
 alert("精確到小數點第3位" + 3.1465.toPrecision(3)); 
 alert("精確到小數點第2位" + 3.1415.toPrecision(2)); 
 alert("精確到小數點第2位" + 3.1455.toPrecision(2)); 
 alert("精確到小數點第5位" + 3.141592679287.toPrecision(5)); 
 </script>

用Javascript取float型小數點后兩位,例22.127456取成22.13,如何做?

1.丟棄小數部分,保留整數部分

parseInt(5/2)

2.向上取整,有小數就整數部分加1

Math.ceil(5/2)

3,四舍五入.

Math.round(5/2)

4,向下取整

Math.floor(5/2)

另類的方法

1. 最笨的辦法

function get()
{
 var s = 22.127456 + "";
 var str = s.substring(0,s.indexOf(".") + 3);
 alert(str);
}

2. 正則表達式效果不錯

<script type="text/javascript">
onload = function(){
 var a = "23.456322";
 var aNew;
 var re = /([0-9]+.[0-9]{2})[0-9]*/;
 aNew = a.replace(re,"$1");
 alert(aNew);
}
</script>

3. 他就比較聰明了

<script>
var num=22.127456;
alert( Math.round(num*100)/100);
</script>

4.會用新鮮東西的朋友....... 但是需要 IE5.5+才支持。

5.js保留2位小數(強制)

對于小數點位數大于2位的,用上面的函數沒問題,但是如果小于2位的,比如:changeTwoDecimal(3.1),將返回3.1,如果你一定需要3.10這樣的格式,那么需要下面的這個函數:

function changeTwoDecimal_f(x) {
 var f_x = parseFloat(x);
 if (isNaN(f_x)) {
 alert('function:changeTwoDecimal->parameter error');
 return false;
 }
 var f_x = Math.round(x * 100) / 100;
 var s_x = f_x.toString();
 var pos_decimal = s_x.indexOf('.');
 if (pos_decimal < 0) {
 pos_decimal = s_x.length;
 s_x += '.';
 }
 while (s_x.length <= pos_decimal + 2) {
 s_x += '0';
 }
 return s_x;
}

三、js保留兩位小數,自動補充零

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;
 }
}

四、JS取整數,js取絕對值,js四舍五入(可保留兩位小數)

JS取整數,js取絕對值,js四舍五入(可保留兩位小數)函數如下:

<SCRIPT language=javascript>
<!-- 
function jsMath()
{
 document.write(Math.floor(5.80) + "<br>");//取整或下舍入
 document.write(Math.round(5.80) + "<br>");//四舍五入,取整數
 document.write(Math.round((5.80*100)/100) + "<br>");//四舍五入,保留兩位小數
 document.write(Math.ceil(5.10) + "<br>");//上舍入
 document.write(Math.abs(-5.80) + "<br>");//取絕對值
 document.write(Math.max(55,58) + "<br>");//返回兩個值中最大數
 document.write(Math.min(55,58) + "<br>");//返回兩個值中最小數
}
-->
</SCRIPT>
<div>
<script>jsMath();</script>
</div>

總結

JS數據格式化是在進行web前端開發時常碰到的事情,特別是在數據類型為Float的數據就需要特殊處理,如保留兩位小數、小數點后的數據是否需要四舍五入等等。下面就來介紹實現數據格式化保留兩位小數的多種方法。

1、JS自帶的方法toFixed(),toFixed() 方法可把 Number 四舍五入為指定小數位數的數字。

語法:NumberObject.toFixed(num),mun是必需的參數,即規定小數的位數,是 0 ~ 20 之間的值,包括 0 和 20,有些實現可以支持更大的數值范圍。如果省略了該參數,將用 0 代替,所以toFixed() 方法可以實現保留2位、3位、4位等等,取決于num的數值。

返回值:返回 NumberObject 的字符串表示,不采用指數計數法,小數點后有固定的 num 位數字。如果必要,該數字會被舍入,也可以用 0 補足,以便它達到指定的長度。如果 num 大于 le+21,則該方法只調用 NumberObject.toString(),返回采用指數計數法表示的字符串。

當 num 太小或太大時拋出異常 RangeError。0 ~ 20 之間的值不會引發該異常。有些實現支持更大范圍或更小范圍內的值。

當調用該方法的對象不是 Number 時拋出 TypeError 異常。

<script type=”text/javascript”>
var num = new Number(13.376954);
document.write (num.toFixed(2))
</script>
輸出:13.38

2、自定義函數實現小數保留并四舍五入。

function roundFun(numberRound,roundDigit) { //四舍五入,保留位數為roundDigit
if (numberRound>=0){
var tempNumber = parseInt((numberRound * Math.pow(10,roundDigit)+0.5))/Math.pow(10,roundDigit);
return tempNumber;
} else{
numberRound1=-numberRound;
var tempNumber = parseInt((numberRound1 * Math.pow(10,roundDigit)+0.5))/Math.pow(10,roundDigit);
return -tempNumber;
}
}

然后調用roundFun()這個函數就可以了。如roundFun('13.376954′,2);當然返回的結果跟第一種方法是一樣的。

3、通過函數截取,截取到小數點后面第幾位,當然這種方法就沒有四舍五入了。

<script type=”text/javascript”>
tmp = 13.376954″
result = tmp.substr(0,tmp.indexOf(“.”)+2);
alert(result);
</script>

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

js保留兩位小數方法總結

再分享一個經典的解決四舍五入問題后js保留兩位小數的方法。//四舍五入保留2位小數(若第二位小數為0,則保留一位小數)function keepTwoDecimal(num) { var result = parseFloat(num);if (isNaN(result)) { alert('傳遞參數錯誤,請檢查如果大家想對javascript有系統深入的學習,可以參閱 JavaScript啟示錄 PDF原書完整版 這本經典書籍二、Js取float型小數點后兩位數的方法。
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 成人区精品一区二区不卡亚洲 | 国产精品免费视频网站 | 国产在线播放免费 | 国内精品久久久久久中文字幕 | 91导航在线观看 | 91在线高清 | 热久久91 | 精品欧美成人高清视频在线观看 | 欧美成人一区二区三区 | 伊人色综合一区二区三区 | 亚洲区中文字幕 | 亚洲 欧美 自拍 另类 欧美 | 国产亚洲一欧美一区二区三区 | 黄毛片免费 | 精品综合一区二区三区 | 欧美一区二区二区 | 久久久久久国产精品免费 | 亚洲 欧洲 另类 综合 自拍 | 欧洲亚洲综合 | 欧美精品国产一区二区 | 国产欧美一区二区三区视频 | 亚洲精品免费视频 | 亚洲黄色一区二区 | 午夜啪啪网| 国产欧美日韩另类 | 欧美一区二区在线观看 | 99久久精品国产一区二区成人 | 欧美亚洲另类综合 | 国产精品福利久久久久久小说 | 国产亚洲一区二区三区在线 | 久久免费福利视频 | 国产精品糟蹋漂亮女教师 | 欧美成人高清视频 | 国产精品人成 | 中文字幕第一区 | 欧区一欧区二欧区三免费 | 欧美日韩电影在线观看 | 老司机精品视频一区二区 | 国产亚洲一区二区三区 | 欧美视频在线观看免费 | 国模双双大尺度炮交g0go |