Number对象方法
数值转换方法
Number() - 将字符串或其他类型转换为数字
console.log(Number('10')); // 10
console.log(Number(true)); // 1
console.log(Number(false)); // 0
parseInt() - 将字符串转换为整数
console.log(parseInt('10.99')); // 10
console.log(parseInt('7 days')); // 7
console.log(parseInt('day 7')); // NaN
parseFloat() - 将字符串转换为浮点数
console.log(parseFloat('3.14')); // 3.14
console.log(parseFloat('3.14abc')); // 3.14
数字格式化方法
toString() - 将数字转换为指定进制的字符串
let num = 15;
console.log(num.toString(2)); // "1111" (二进制)
console.log(num.toString(16)); // "f" (十六进制)
toFixed() - 保留指定小数位数
let num = 3.14159;
console.log(num.toFixed(2)); // "3.14"
console.log(num.toFixed(0)); // "3"
toExponential() - 转换为指数表示法
let num = 12345;
console.log(num.toExponential(2)); // "1.23e+4"
toPrecision() - 按指定精度格式化
let num = 123.456;
console.log(num.toPrecision(5)); // "123.46"
数值检查方法
Number.isInteger() - 检查是否为整数
console.log(Number.isInteger(5)); // true
console.log(Number.isInteger(5.1)); // false
isNaN() - 检查是否为非数字
console.log(isNaN(42)); // false
console.log(isNaN('hello')); // true
Math对象方法
基本数学运算
Math.abs() - 取绝对值
console.log(Math.abs(-5)); // 5
console.log(Math.abs(3.14)); // 3.14
Math.pow() - 幂运算
console.log(Math.pow(2, 3)); // 8 (2³)
console.log(Math.pow(10, 2)); // 100 (10²)
Math.sqrt() - 开平方根
console.log(Math.sqrt(16)); // 4
取整方法
Math.round() - 四舍五入取整
console.log(Math.round(4.4)); // 4
console.log(Math.round(4.5)); // 5
Math.floor() - 向下取整
console.log(Math.floor(4.9)); // 4
Math.ceil() - 向上取整
console.log(Math.ceil(4.1)); // 5
随机数生成
Math.random() - 生成0-1之间的随机小数
console.log(Math.random()); // 随机0-1之间的小数
极值方法
Math.max() - 返回最大值
console.log(Math.max(1, 5, 3)); // 5
Math.min() - 返回最小值
console.log(Math.min(1, 5, 3)); // 1
实用数字操作示例
数字补零实现
padStart()方法 - ES2017+推荐方案
function prefixZeroPadStart(num, length) {
return num.toString().padStart(length, '0');
}
console.log(prefixZeroPadStart(5, 2)); // "05"
小数位补零
function decimalPadEnd(num, digits = 2) {
const [intPart, decPart = ''] = num.toString().split('.');
const paddedDec = decPart.padEnd(digits, '0').slice(0, digits);
return `${intPart}.${paddedDec}`;
}
console.log(decimalPadEnd(3.1)); // "3.10"
随机数生成器
function randomInRange(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
console.log(randomInRange(1, 100)); // 随机1-100之间的整数
数字精度控制
function preciseRound(num, decimals) {
const factor = Math.pow(10, decimals);
return Math.round(num * factor) / factor;
}
console.log(preciseRound(3.14159, 2)); // 3.14
三角函数方法
Math.sin(), Math.cos(), Math.tan() - 三角函数计算
console.log(Math.sin(Math.PI / 2)); // 1
console.log(Math.cos(Math.PI)); // -1