Rumah >hujung hadapan web >tutorial js >Pelbagai kaedah untuk mengekalkan dua tempat perpuluhan dalam kemahiran javascript_javascript

Pelbagai kaedah untuk mengekalkan dua tempat perpuluhan dalam kemahiran javascript_javascript

WBOY
WBOYasal
2016-05-16 15:25:042283semak imbas

Kaedah pertama: pelaksanaan javascript contoh kod padding sifar automatik dengan dua tempat perpuluhan dan satu tempat:
Kaedah pertama memperkenalkan cara untuk mencapai kesan mengekalkan dua tempat perpuluhan untuk nombor Jika nombor asal tempat perpuluhan adalah kurang daripada dua, maka yang hilang akan diisi secara automatik dengan sifar tujuan keseragaman Pertama, Lihat contoh kod:

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

Kod di atas mencapai keperluan kami Berikut ialah pengenalan kepada proses pelaksanaannya.
Komen komen:
1.fungsi returnFloat(nilai){}, parameter ialah nombor yang hendak ditukar.
2.var value=Math.round(parseFloat(value)*100)/100, Ini sepatutnya menjadi teras fungsi, parseFloat(value) menukar parameter kepada nombor titik terapung, kerana parameter mungkin Rentetan didarab dengan 100 kerana dua tempat perpuluhan mesti dikekalkan Pertama, gerakkan titik perpuluhan dua digit ke kanan, kemudian gunakan kaedah Math.round() untuk melakukan pengiraan pembundaran, dan akhirnya bahagi dengan 100. Ini mencapai. tujuan untuk mengekalkan dua tempat perpuluhan, dan juga mempunyai kesan pembundaran, tetapi ini tidak sempurna Jika bilangan tempat perpuluhan dalam nombor parameter itu sendiri lebih besar daripada atau sama dengan 2, ia adalah OK, seperti 3.1415. , tetapi masih tiada pelaksanaan yang sempurna seperti 3 atau 3.0 Teruskan lihat di bawah.
3.var xsd=value.toString().split("."), gunakan nilai dot "."
4.if(xsd.length==1){value=value.toString() ".00";return value;}, jika panjang tatasusunan ialah 1, iaitu, tiada perpuluhan, maka ini nombor akan ditambah Dua sifar, seperti 3, akan ditukar kepada 3.00.
5.

if(xsd.length>1){
 if(xsd[1].length<2){
  value=value.toString()+"0";
 }
 return value;
 }

if(xsd.length>1) digunakan untuk menentukan sama ada panjang nombor lebih besar daripada 1, iaitu sama ada nombor itu mempunyai perpuluhan, tetapi bilangan digit perpuluhan adalah kurang daripada 2, yang serupa dengan 3.1, ia akan berada dalam Menambah 0 selepas ia akan menukarnya kepada 3.10.

Kaedah kedua: Ringkaskan berbilang kaedah fungsi dalam JS yang memformat data dengan dua tempat perpuluhan

Cara terbaik:

Nampaknya beginilah cara mengekalkan dua orang

 var a = 9.39393; 
 alert(a.toFixed(2));

Arahan:

makluman(Number.toFixed(9.39393));
Pulangan ialah 9.39
Tetapi ia hanya disokong oleh versi di atas IE5.5.

Kaedah lain:

Kaedah 1:

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

Kaedah 2:

<script> 
 tmp = "1234567.57232" 
 result = tmp.substr(0,tmp.indexOf(".")+3); 
 alert(result); 
 </script> 

Kaedah ketiga: javascript mengekalkan dua kod tempat perpuluhan

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

Di atas adalah pelbagai kaedah untuk mengekalkan dua tempat perpuluhan dalam JavaScript. Saya harap ia akan membantu pembelajaran semua orang.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn