JavaScript随手笔记---保留小数位

请添加图片描述

  • 所属专栏:【JavaScript随手笔记】

  • 作  者:我是夜阑的狗

  • 个人简介:一个正在努力学技术的码仔,专注基础和实战分享 ,欢迎咨询!

  • 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信

文章目录

  • 前言
  • 一、JS四舍五入保留小数
    • 1.toFixed()函数
  • 二、JS不四舍五入保留小数
    • 1.Math.floor()和Math.ceil()函数
    • 2.parseInt()函数
    • 3.parseInt()和toFixed()、Math.floor()与toFixed()
    • 4.字符串匹配
  • 总结


前言

  大家好,又见面了,我是夜阑的狗,本文是专栏【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随手笔记】
  • 【大数据学习笔记(华为云)】
  • 【程序错误解决方法(建议收藏)】
  • 【软件安装教程】



订阅更多,你们将会看到更多的优质内容!!

你可能感兴趣的:(JavaScript笔记,javascript,前端,开发语言)