Heim > Web-Frontend > js-Tutorial > Hauptteil

Welche js-Funktionen behalten zwei Dezimalstellen bei?

coldplay.xixi
Freigeben: 2020-09-28 09:27:58
Original
26958 Leute haben es durchsucht

JS-Funktionen, die zwei Dezimalstellen beibehalten, umfassen: 1. die Funktion [toFixed()]; 2. die Funktion [Math.floor()] rundet nicht ab; 2 Dezimalstellen; 5. Gleitkommazahlen behalten zwei Dezimalstellen.

Welche js-Funktionen behalten zwei Dezimalstellen bei?

js-Funktionen, die zwei Dezimalstellen behalten, sind:

1. Rundungsbezogene

1. toFixed()-Methode

Bitte beachten Sie, dass zwei Dezimalstellen beibehalten werden und die numerischen Typdaten geändert werden in den String-Typ

// 1.四舍五入
     var num =2.446242342;  
    num = num.toFixed(2); 
   console.log(num); //2.45
  console.log(typeof num); // string
Nach dem Login kopieren

2. Math.floor(), keine Rundung, Abrundung

Hinweis, der Datentyp wird nicht geändert

// 2.不四舍五入 向下取整
    num = Math.floor(num * 100) / 100;
     console.log(num); //2.44
    console.log(typeof num); // number
Nach dem Login kopieren

3. String-Matching

Hinweis: Konvertieren Sie die Daten zunächst in einen String , konvertieren Sie es in einen numerischen Typ

// 3.不四舍五入 字符串匹配再转换
   num = Number(num.toString().match(/^\d+(?:\.\d{0,2})?/));
    console.log(num); //2.44
    console.log(typeof num); // number
Nach dem Login kopieren

4. Runden Sie, um 2 Dezimalstellen zu behalten (wenn die zweite Dezimalstelle 0 ist, behalten Sie eine Dezimalstelle)

Beachten Sie, dass der Datentyp unverändert bleibt

//4.四舍五入保留2位小数(若第二位小数为0,则保留一位小数)
        function keepTwoDecimal(num) {
             var result = parseFloat(num);
             if (isNaN(result)) {
                 alert('传递参数错误,请检查!');
                 return false;
             }
             result = Math.round(num * 100) / 100;
             return result;
        };
         keepTwoDecimal(num);
         console.log(num); //2.44
         console.log(typeof num); //number
Nach dem Login kopieren

5 Dezimalstellen (Wenn nicht genügend Ziffern vorhanden sind, verwenden Sie stattdessen 0)

Beachten Sie, dass sich der Datentyp in den Zeichenfolgentyp ändert

//5.四舍五入保留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('.'); //小数点的索引值
             // 当整数时,pos_decimal=-1 自动补0
             if (pos_decimal < 0) {
                 pos_decimal = s_x.length;
                 s_x += &#39;.&#39;;
             }
             // 当数字的长度< 小数点索引+2时,补0
             while (s_x.length <= pos_decimal + 2) {
                 s_x += &#39;0&#39;;
             }
             return s_x;
        }
         console.log(keepTwoDecimalFull(120.5)); //120.50
         console.log(typeof keepTwoDecimalFull(120.5)); //string
         console.log(keepTwoDecimalFull(2.446242342)); //2.45
         console.log(typeof keepTwoDecimalFull(2.446242342)); //string
Nach dem Login kopieren

2. Behalten Sie zwei Dezimalstellen für Gleitkommazahlen bei. Runden Sie die Gleitkommazahl auf 2 Dezimalstellen

Beachten Sie, dass der Datentyp unverändert bleibt

//浮点数保留两位小数
          //1.功能:将浮点数四舍五入,取小数点后2位
          function toDecimal(x) {
           var f = parseFloat(x);
           if (isNaN(f)) {
            return;
           }
           f = Math.round(x*100)/100;
           return f;
          }
          console.log(toDecimal(3.1465926)); // 3.15
          console.log(typeof toDecimal(3.1415926)); //number
Nach dem Login kopieren

2 Es ist obligatorisch, 2 Dezimalstellen beizubehalten, z. B.: 2, 00 wird nach 2 hinzugefügt. Das ist 2,00

Beachten Sie, dass sich der Datentyp ändert Zeichenfolgentyp

//2.强制保留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(&#39;.&#39;);
           if (rs < 0) {
            rs = s.length;
            s += &#39;.&#39;;
           }
           while (s.length <= rs + 2) {
            s += &#39;0&#39;;
           }
           return s;
          }
          console.log(toDecimal2(3.1)); // 3.10
          console.log(typeof toDecimal2(3.1415926)); //string
Nach dem Login kopieren
3. Zwei Dezimalstellen bleiben erhalten. Wenn für eine Gleitkommazahl nicht genügend Rundungsstellen vorhanden sind, fügen Sie nicht 0 hinzu.

Beachten Sie, dass der Datentyp unverändert bleibt

Javascript-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWelche js-Funktionen behalten zwei Dezimalstellen bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!