>  기사  >  웹 프론트엔드  >  소수점 이하 두 자리를 유지하는 js 함수는 무엇입니까?

소수점 이하 두 자리를 유지하는 js 함수는 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2020-09-28 09:27:5826988검색

JS 함수는 다음과 같습니다: 1. [toFixed()] 함수 2. [Math.floor()] 함수는 반올림하지 않고 반올림합니다. 3. 문자열 일치 방법을 사용합니다. 5. 부동 소수점 숫자는 소수점 2자리를 유지합니다.

소수점 이하 두 자리를 유지하는 js 함수는 무엇입니까?

js 함수는 다음과 같습니다.

1. 반올림 관련

1. toFixed() 메소드

소수점 2자리는 그대로 유지되며 숫자형 데이터가 변경되는 점 참고해주세요. 문자열 유형으로

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

2. Math.floor(), 반올림 없음, 반올림

주의, 데이터 유형은 변경되지 않습니다

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

3. 문자열 일치

참고, 먼저 데이터를 문자열로 변환하고, 마지막으로 , 숫자형으로 변환합니다

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

4. 소수점 2자리를 유지하려면 반올림합니다(소수점 둘째 자리가 0이면 소수점 1자리를 유지합니다)

데이터 유형은 변경되지 않고 유지됩니다

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

5. 소수점 이하 자릿수(자릿수가 충분하지 않은 경우 0을 대신 사용)

데이터 유형이 문자열 유형으로 변경됩니다. 소수점 2자리

참고, 데이터 유형은 변경되지 않습니다.

//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
2. 소수점 이하 2자리를 유지해야 합니다. 예: 2, 00은 2.00입니다.

데이터 유형이 다음으로 변경됩니다. 문자열 유형

//浮点数保留两位小数
          //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

3 소수점 이하 두 자리가 유지됩니다. 부동 소수점 숫자에 대한 반올림 자릿수가 충분하지 않은 경우 0을 추가하지 마세요.

데이터 유형이 변경되지 않은 상태로 유지됩니다.

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

더 많은 관련 무료 학습 권장사항:

javascript 비디오 튜토리얼

위 내용은 소수점 이하 두 자리를 유지하는 js 함수는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.