一、JS四舍五入保留小数
1.toFixed()函数
使用toFixed()
函数可以对小数位进行四舍五入,得到的结果是字符串类型;
var number = 0.9996 var Test = number.toFixed(2); //这里会自动四舍五入,保留两位小数 console.log(Test); //1.00 console.log(typeof(Test)); //String
二、JS不四舍五入保留小数
这里的方法均不会对小数四舍五入处理
1.Math.floor()和Math.ceil()函数
Math.floor()
对数值进行向下取整,Math.ceil()
向上取整,并且不改变数据类型。这两个函数均只保留整数,所以还要/100才能得到想要的数据;
var number = 1.7332; var Test1 = Math.floor(number * 100) / 100;//保留两位小数, var Test2 = Math.ceil(number * 100) / 100;//保留两位小数 console.dir(Test1); //1.73 console.dir(typeof(Test1)); // number console.dir(Test2); //1.74 console.dir(typeof(Test2)); // number
2.parseInt()函数
从前面两个函数来看,也可以使用parseInt()
进行取整后再除以100。
var number = 0.99996; var Test1 = parseInt(number * 100) / 100;//保留两位小数, console.dir(Test1); //0.99 console.dir(typeof(Test1)); // number
但是,当小数位只有一位或者两位都为0的情况下,则只会保留整数。
var number = 0.900006; var Test1 = parseInt(number * 100) / 100;//保留两位小数, console.dir(Test1); //0.9 console.dir(typeof(Test1)); // number
3.parseInt()和toFixed()、Math.floor()与toFixed()
这里如果需要自带补0的话,则要跟toFixed()
函数进行处理。
var number = 0.900006; var Test1 = (parseInt(number * 100) / 100).toFixed(2);//保留两位小数, console.dir(Test1); //0.90 console.dir(typeof(Test1)); // number
Math.floor()也是可以跟toFixed()
函数一起进行处理的。
var number = 0.900006; var Test1 = (Math.floor(number * 100) / 100).toFixed(2);//保留两位小数, console.dir(Test1); //0.90 console.dir(typeof(Test1)); // number
4.字符串匹配
这里要注意的是先将数据转换为字符串,最后在转换为数值类型。
var number = 0.900006; //这里使用正则表达式来进行处理 var Test1 = Number(number.toString().math(/^\d+(?:\.\d{0,2})?/)); console.dir(Test1); //0.90 console.dir(typeof(Test1)); // number
总结
以上就是今天要讲的内容,本文仅仅简单介绍了JS保留小数位的方法,分别从四舍五入和是否自动补0这两个方面进行入手。
感谢观看,如果有帮助到你,请给文章点个赞和收藏,让更多的人看到。🌹 🌹 🌹
也欢迎你,关注我。👍 👍 👍
原创不易,还希望各位大佬支持一下,你们的点赞、收藏和留言对我真的很重要!!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!