JavaScript Number对象方法

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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • """1.个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello ...
    她即我命阅读 15,100评论 0赞 6
  • 1、expected an indented block 冒号后面是要写上一定的内容的(新手容易遗忘这一点); 缩...
    庵下桃花仙阅读 5,299评论 1赞 2
  • 一、工具箱(多种工具共用一个快捷键的可同时按【Shift】加此快捷键选取)矩形、椭圆选框工具 【M】移动工具 【V...
    墨雅丫阅读 5,639评论 0赞 0
  • 跟随樊老师和伙伴们一起学习心理知识提升自已,已经有三个月有余了,这一段时间因为天气的原因休课,顺便整理一下之前学习...
    学习思考行动阅读 5,152评论 0赞 2
  • 一脸愤怒的她躺在了床上,好几次甩开了他抱过来的双手,到最后还坚决的翻了个身,只留给他一个冷漠的背影。 多次尝试抱她...
    海边的蓝兔子阅读 3,537评论 1赞 4

友情链接更多精彩内容