Number 常用方法

本文介绍了JavaScript中判断整数、转换数值及四舍五入的方法,如isInteger()、parseInt()、parseFloat()和toFixed()。同时,讲解了如何识别NaN,以及利用Number()函数进行类型转换。此外,还讨论了在遇到非数字字符串时的处理情况。
摘要由CSDN通过智能技术生成

(1)判断是否为整数:isInteger()

(2)将字符串转换为整数:parseInt()

(3)将字符串转换为浮点数:parseFloat()

(4)四舍五入:toFixed()

console.log(Number.isInteger(123)); // true
console.log(Number.isInteger(123.123)); // false

console.log(parseInt('123')); // 123
console.log(parseInt('123.123')); // 123

console.log(parseInt('123aaa')); // 123
console.log(parseInt('     123aaa')); // 123
console.log(parseInt('aaa123aaa')); // NaN

console.log(parseInt('123.123aaaaaa')); // 123
console.log(parseInt('       123.123aaaaaa')); // 123
console.log(parseInt('aaaaa123.123aaaaaa')); // NaN

console.log(parseFloat('123')); // 123
console.log(parseFloat('123.123')); // 123.123

let intNum = 123;
let floatNum = 123.123;
let strIntNum = '123';

console.log(intNum.toFixed(2)); // 123.00
console.log(floatNum.toFixed(2)); // 123.12
console.log(strIntNum.toFixed(2)); 
//  Uncaught TypeError: strIntNum.toFixed is not a function

(5)NaN:Not a number。此类型不能用 == 进行判断,需用如下方法:

let str = '123aaa';
console.log(Number.isNaN(parseInt('aaa123aaa'))); // true
console.log(Number.isNaN('aaa123aaa')) // false

console.log(Object.is(parseInt('aaa123'), NaN)); // true
console.log(Object.is('aaa123', NaN)); // false

NaN 是将其他非 Number 类型尝试转换为 Number 时失败所得到的。若不进行转换操作,则用以上方法判断会返回 false ,因为它们转换前确实不是 NaN 。

(6)类型转换:上面几种方法中 parseInt() 和 parseFloat() 都有将非 Number 类型转换为 Number 类型的能力,除此之外,还可以使用 Number() 函数进行转换。

console.log(Number('123')); // 123
console.log(Number('123.123')); // 123.123

console.log(Number('123aaa')); // NaN
console.log(Number('   123   ')); // 123
console.log(Number('aaa123')); // NaN

console.log(Number(true)); // 1
console.log(Number(false)); // 0

console.log(Number([])); // 0
console.log(Number([123])); // 123
console.log(Number([123, 456])); // NaN

console.log(Number(['123'])); // 123
console.log(Number(['123', '456'])); // NaN

console.log(Number({})); // 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值