首页 > 其他分享 >js 实现 一个数如果是整数则取整数,是小数则保留一位

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

时间:2023-01-06 11:44:15浏览次数:60  
标签:return roundNumber 整数 js num trunc Math 小数

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

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


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

标签:return,roundNumber,整数,js,num,trunc,Math,小数
From: https://www.cnblogs.com/lovebing/p/17029997.html

相关文章

  • 如何使用LightningChart JS创建高性能可视化的HTML图表?
    LightningChartJS是一款高性能的JavaScript图标库,专注于实时数据可视化,以“快如闪电”享誉全球,是MicrosoftVisualStudio数据展示速度最快的2D和3D图表制图组件,可实时呈......
  • SheetJS读取服务器Excel文件
    Javascript使用SheetJS读取服务器上的Excel文件[英]JavascriptReadExcelfileonserverwithSheetJSvarfilename='Test.xlsx';varreq=newXMLHttpRequest();......
  • [源码]JS加密:调用JShaman接口,实现JS代码加密
    源码如下,保存为html即可直接使用。免费版:<html><head><scriptsrc="https://code.jquery.com/jquery-1.11.3.js"></script></head><bo......
  • 在JS文件中引入另一个JS文件达到只需引入一个JS即可达到引入两个JS的效果
    问题在JS文件中引入另一个JS文件达到只需引入一个JS即可达到引入两个JS的效果。在个别工具类需要同时引入连个JS才能使用其中的方法函数,但是有时候往往忘记引入另一个......
  • Fastjson之数据脱敏
    很多业务数据在展示上需要进行脱敏处理,保护重要的敏感信息。如电话号码脱敏,期望展示的数据格式是156****7837;如身份证号码脱敏,期望展示的数据格式是420***********113X。......
  • egg.js+vue 实现crypto.js 对称加密
    对称加密对称加密算法,加解密都用同一个密钥。 node:letcrypto=require('crypto')//data:需要加解密的内容,//key:密钥//初始化向量(iv)functionaesEncryp......
  • Json-Tutorial04 Unicode解析
    前言本节实际上做的工作是上一节的遗留工作:\u转义字符的解析。UTF-8的解析规则在本教程所设计的Json库中,只涉及UTF-8的解析。具体的解析规则教程中都已经说的非常清楚了......
  • 4_jsonp跨域处理
    ​  jsonp跨域处理4.4.1什么是跨域?出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览......
  • 4_jsonp跨域处理
    ​  jsonp跨域处理4.4.1什么是跨域?出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览......
  • 4_JSON格式
    ​ AJAX数据格式处理响应普通文本数据如果服务器给我们响应的数据非常简答,那么使用字符串就好了,不需要我们做复杂的处理,后台编码也简单.页面代码 <%@pagecon......