1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>format-number</title> 6 </head> 7 <body> 8 <input type="text" id="input"><input type="text" id="output"> 9 </body> 10 <script> 11 var ipt=document.getElementById(‘input‘); 12 var opt=document.getElementById(‘output‘); 13 ipt.oninput=function(){ 14 opt.value=zero(this.value); 15 } 16 function zero(num){ 17 var str=num.toString(); 18 if(str.indexOf(".")==-1){//整数 19 return num+".00"; 20 }else{ 21 var len=str.indexOf("."); 22 if(str.slice(len).length == 2){ //只有1位小数 23 return num+"0" 24 }else if(str.slice(len).length > 3){//小数部分大于2位 25 //整数部分 26 var integer=str.slice(0,len); 27 //需截取到的索引值 28 var resIndex=integer.length+3; 29 //得到截取后的保留了两位小数的字符串 30 var resNumber=str.slice(0,resIndex); 31 //截取到的保留的两位小数 32 var decimal=str.slice(len+1,resIndex); 33 if(decimal=="00"){ 34 return Number(resNumber)+".00"; 35 }else{ 36 //再转成数字返回 37 return Number(resNumber); 38 } 39 }else{//就是有2位小数的数字 40 return num; 41 } 42 } 43 } 44 </script> 45 </html>
1 console.log(zero(11))//11.00 2 console.log(zero(11.0))//11.00 3 console.log(zero(11.00))//11.00 4 console.log(zero(11.001))//11.00 5 console.log(zero(11.1))//11.10 6 console.log(zero(11.00001))//11.00