js 实现 一个数如果是整数则取整数,是小数则保留一位

js 实现 一个数如果是整数则取整数,是小数则保留一位;

function roundNumber(num) {
  if (Number.isInteger(num)) {
    return num;
  } else {
    return num.toFixed(1);
  }
}

正则实现方式

function roundNumber(num) {
  if (/^\d+$/.test(num)) {
    return num;
  } else {
    return num.toFixed(1);
  }
}

保留多位小数

可以修改toFixed(n)n改成要保留小数的位数;

例子

<script>    
    function roundNumber(num) {
        if (Number.isInteger(num)) {
          return num;
        } else {
          return Number(num).toFixed(2);
        }
    }
      var s1 = 4322.0000; 
      var s2 = 4322.2222; 
      console.log(roundNumber(s1));
      console.log(roundNumber(s2));
  </script>

不要四舍五入保留小数(向下取整)

function roundNumber(num) {
  if (Number.isInteger(num)) {
    return num;
  } else {
    return Math.trunc(num * 10) / 10;
  }
}

正则实现方式

function roundNumber(num) {
  if (/^\d+$/.test(num)) {
    return num;
  } else {
    return Math.trunc(num * 10) / 10;
  }
}

保留多位小数

Math.trunc(num * 10) / 10改成要保留小数的倍数;

例如保留两位小数Math.trunc(num * 100) / 100

Math.floor和Math.trunc

Math.floor(x)
返回小于一个数的最大整数,即一个数向下取整后的值。

Math.trunc(x)

返回一个数的整数部分,直接去除其小数点及之后的部分。

区别:

两者在正数部分表现一致,在负数的时候有些许区别;

例如:

 Math.floor(-2.3)
-3
 Math.trunc(-2.3)
-2

文章来源:刘俊涛的博客 欢迎关注公众号、留言、评论,一起学习。


若有帮助到您,欢迎捐赠支持,您的支持是对我坚持最好的肯定(_)

posted @ 2023-01-06 11:39  刘俊涛的博客  阅读(1838)  评论(0)    收藏  举报