js保留两位小数

880 阅读1分钟
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

// 浮点数四舍五入  加上补位

        // parseFloat() 函数可解析一个字符串,并返回一个浮点数。
        var num1 = parseFloat(55); 

// js判断是否是数字——isNaN()函数  NaN 即 Not a Number
//  假如值是 NaN, 那么 isNaN 函数返回 true ,否则返回 false 。 使用这个函数的典型情况是检查 parseInt 和 parseFloat 方法的输入值。
  if (!isNaN(num1)) { 

  num1 = Math.round(num1*100)/100; 

  var str = num1.toString(); 
//   indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
// 如果要检索的字符串值没有出现,则该方法返回 -1。
   var rs = str.indexOf('.'); 

   if (rs < 0) { 

    rs = str.length; 

    str += '.'; 

   } 

   while (str.length <= rs + 2) { 

    str += '0'; 

   } 

  console.log("将浮点数四舍五入,取小数点后2位,位数不够进行补位:");

  console.log(str);//55.00

  }

// toFixed自带四舍五入的功能  toFixed自带补位功能
  var a = 9.39893;
  var f = 9;
  var  b = a.toFixed(2)
  //不四舍五入
  var  c = Number(a.toString().match(/^\d+(?:\.\d{0,2})?/));
  //这个没有补全
  var  d = Number(f.toString().match(/^\d+(?:\.\d{0,2})?/));
  console.log(c)
  console.log(f)
  console.log('c:',typeof c)
  
alert(a.toFixed(2));
console.log(typeof a)//number =>a
// 需注意,保留两位小数,将数值类型的数据改变成了字符串类型
console.log(b)
console.log(typeof b)//string









var num4 = 55.3; 

console.log(num4.toFixed(2));

var num5 = 55; 

console.log(num5.toFixed(2));
    </script>
</body>
</html>