💌 所属专栏:【JavaScript随手笔记】
😀 作 者:我是夜阑的狗🐶
🚀 个人简介:一个正在努力学技术的码仔,专注基础和实战分享 ,欢迎咨询!
💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘
文章目录
前言
大家好,又见面了,我是夜阑的狗,本文是专栏【avaScript随手笔记】专栏的第1篇文章;
在JS中保留小数的方法有很多,可以Math函数或者以字符串形式来进行处理,但在有的时候需要四舍五入,有时候不需要,这里围着这两点展开;
专栏地址:【JavaScript随手笔记】 , 此专栏是我是夜阑的狗对JS保留小数的总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。
如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。
一、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这两个方面进行入手。
感谢观看,如果有帮助到你,请给文章点个赞和收藏,让更多的人看到。🌹 🌹 🌹
也欢迎你,关注我。👍 👍 👍
原创不易,还希望各位大佬支持一下,你们的点赞、收藏和留言对我真的很重要!!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!
更多专栏订阅:
- 😀 【LeetCode题解(持续更新中)】
- 🚝 【Java Web项目构建过程】
- 💛 【数字图像处理】
- ⚽ 【JavaScript随手笔记】
- 🤩 【大数据学习笔记(华为云)】
- 🦄 【程序错误解决方法(建议收藏)】
- 🚀 【软件安装教程】
订阅更多,你们将会看到更多的优质内容!!