首页 > 其他分享 >js保留小数的方法(如保留一位小数)

js保留小数的方法(如保留一位小数)

时间:2023-06-16 13:00:21浏览次数:39  
标签:四舍五入 console log 保留 js num result 小数

 

js保留小数的方法如下:(以保留两位为例)

1、toFixed()方法

需注意,保留两位小数,将数值类型的数据改变成了字符串类型

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


2、Math.floor(),不四舍五入 ,向下取整

Math.ceil() , 不四舍五入,向上取整

注意,不改变数据类型

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

 


3、字符串匹配

注意,先将数据转换为字符串,最后再转为数值类型

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

 


4、四舍五入保留2位小数(若第二位小数为0,则保留一位小数)

注意,数据类型不变

//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);            //1.73
         console.log(typeof num);     //number

 


5、四舍五入保留2位小数(不够位数,则用0替补)

注意,数据类型变为字符串类型

//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 += '.';  
             }
 
             // 当数字的长度< 小数点索引+2时,补0  
             while (s_x.length <= pos_decimal + 2) {  
                 s_x += '0';  
             }  
             return s_x;  
        }  
 
         console.log(keepTwoDecimalFull(120.5)); //120.50
         console.log(typeof keepTwoDecimalFull(120.5)); //string
         console.log(keepTwoDecimalFull(1.7321)); //1.73
         console.log(typeof keepTwoDecimalFull(1.7321)); //string

 

标签:四舍五入,console,log,保留,js,num,result,小数
From: https://www.cnblogs.com/zccst/p/17485288.html

相关文章

  • 解决ValueError: Please install nodejs >=12.0.0 before continuing
     1、升级你的condacondaupdateconda 2、https://anaconda.org/conda-forge/nodejs  Toinstallthispackagerunoneofthefollowing运行  condainstall-c"conda-forge/label/cf202003"nodejs 先运行这个不行的话,再选其他的运行。 例如:condainstall-......
  • js正则格式化日期时间自动补0的两种解法 将2022-3-4这种日期格式转化为2022-03-04
    js正则格式化日期时间自动补0的两种解法将2022-3-4这种日期格式转化为2022-03-04https://www.jb51.net/article/225324.htm+目录背景解法一思路:代码:解法二思路:总结参考背景时间日期格式化的需求很常见,也有很多工具类转换方法,比如需要将2022-3-4这种日期格式转化为2022-......
  • 华为路由器、交换机、AC忘记密码,保留配置处理方法 密码恢复
    在不能通过telnet登录的情况下通过console线更改:通过BootROM清除Console口登录密码交换机的BootROM提供了清除Console口登录密码的功能,用户可以在交换机启动后修改Console口登录密码,然后保存配置。请按照如下步骤进行配置。第一步1.通过Console口连接交换机,......
  • js 将对象转成url参数,url参数转成对象
    /***获取url的参数,并转成对象*/functiongetUrlParamJson(){varurl=window.location.href;if(url.indexOf("?")==-1){return{};}varobj={};url=url.substring(url.indexOf("?")+1);vararr=url.sp......
  • 防止Javascript重新排序JSON
    javascript中的对象为什么会按照键来自动排序?原因:javascript中的对象按照键来自动排序是浏览器造成的,经查V8的相关文档得出以下结论:Chrome浏览器下创建的js对象数组会自动按照键排序、FireFox99.0版本(最新版本)会,FireFox 4.0.1不会。 解决方法:必须将对象的键值转换为字符,......
  • js~在浏览器中对用户名和密码进行存储
    base64函数btoa()和atob()是JavaScript中的标准函数,通常在现代浏览器中都能正常工作。然而,它们在处理非ASCII字符时可能存在一些兼容性问题。这些函数的主要限制在于它们仅支持ASCII字符集,对于非ASCII字符(如Unicode字符)可能会产生不可预测的结果。在处理非ASCII......
  • json 处理
    需要引入"encoding/json"包json解析到mapjsonStr:="{\"a\":\"test\",\"b\":\"testb\"}"vardatmap[string]stringerr:=json.Unmarshal([]byte(jsonStr),&dat)iferr==nil{fmt.Println(da......
  • Java的JSON处理
    Java的JSON处理用于JSON处理的JavaAPI(JSON-P)提供可移植的API,以使用对象模型和流式API来解析,生成,转换和查询JSON。JSON-P中使用JSON的两种方式有两种:流式API和对象模型API。JSON-P流式API流式API将解析和生成控制移交给程序员。流式API提供了基于事......
  • 如何降低Vue.js项目中Webpack打包文件的大小?
    结论结论:vue中,直接引用文件,可以让打包文件最小。试验记录下面测试项目中引入一个Button组件的代价。基准工程大小:[raywill:shop]npmrunbuild>shop@build/Users/raywill/code/vue/shop>cross-envNODE_ENV=productionwebpack--progress--hide-modulesHash:d902d9dc5e......
  • JS01
    如何写一段JS代码并运行写在行内<!--html--><inputtype="button"value="按钮"onclick="alert('HelloWorld');"/>写在script标签中<!--html--><head><script>alert('HelloWorld');......