JS - 数值的整数和小数部分

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/kelly0721/article/details/100064921

一、取整数

  1. parseInt(string, radix)
    1.1 这个方法是一个将字符串转换为整数的方法,它有两个参数,第一个参数表示要转换的字符串,如果参数不是一个字符串,则将其转换为字符串。第二个参数是基数即进制,默认为10
    1.2 由于这个函数需要先将参数转为字符串,再转整数,所以会带来一定的性能开销
  2. Math方法
    2.1 Math.round是四舍五入
    2.2 Math.ceil是向上取整
    2.3 Math.floor是向下取整
    2.4 ES2015之后,提供了原生的Math.trunc,相当于集成了Math.ceil 和 Math.floor,不需要先判断参数的正负
    2.5 Math方法的比parseInt性能好
  3. tricky
    3.1 利用位或“|”操作来取整
    3.2 这个方法有个缺点,它不能处理超过32位的数值取整,而JavaScript有效整数的范围是53位,但是考虑js文件大小,那么a|0与其他方式比较,是最短的方式,所以如果要考虑压缩代码的大小,且明确知道数值范围不会超过32位整数的时候,可以考虑使用这个技巧
// 1
console.log(parseInt(3.75)); // 3

// 2
function trunc(num) {
	if(num >= 0) return Math.floor(num);
	return Math.ceil(num);
}
console.log(trunc(3.75)); // 3
console.log(trunc(-3.75)); // -3
// 2.4
console.log(Math.trunc(-3.75)); // -3

// 3
let num = 3.75;
console.log(num | 0); // 3
num = -num;
console.log(num | 0); // -3

二、取小数

  1. 先取整再相减
  2. 原数对1取模
// 1
function fract(num) {
	return num - Math.trunc(num);
}
console.log(fract(3.75)); // 0.75
console.log(fract(-3.75)); // -0.75
// 2
console.log(3.75 % 1); 

猜你喜欢

转载自blog.csdn.net/kelly0721/article/details/100064921
今日推荐