[Javascript 进阶]-数字

摘要

本文主要收录了常用的javascript的数字操作,并附有较为详细的说明和代码样例,掌握之后能够处理大部分计算问题。

Number(value: unknown)

直接调用会将传入参数转变为 Number 类型,如果 value 不能被转换,则返回 NaN。 如果采用构造函数的方式调用,则返回 Number 对象,该对象不强等于数字。

js 复制代码
Number("123"); // returns the number 123
Number("123") === 123; // true

Number("unicorn"); // NaN
Number(undefined); // NaN

new Number('42') === 42 // false
new Number('42') == 42 // true

常用常量

Number.NaN

不是数字的常量,但是不能使用 === 进行比较,只能使用 Number.isNaN()

js 复制代码
Number.NaN === Number(undefined) // false
Number.isNaN(Number(undefined)) // true

Number.POSITIVE_INFINITY

正无穷

Number.NEGATIVE_INFINITY

负无穷

转换

Number.parseInt(string, radix);

解析字符串并返回一个整数 radix 是从 236 的整数,表示进制的基数。如果超出这个范围,将返回 NaN

js 复制代码
Number.parseInt('1010', 2) // 10
Number.parseInt('1010') // 1010
// parseInt() 只能转整数,不能转换浮点数
Number.parseInt('10.10') // 10

Number.parseFloat(string)

把一个字符串解析成浮点数。

js 复制代码
Number.parseFloat('10.10') // 10.1

Number.prototype.toFixed(digits: Number)

格式化数字,返回对应数字字符串,对数字进行小数点后位数的格式化,digits 小数点后数字的个数;介于 0 到 20(包括)之间

js 复制代码
function financial(x) {
  return Number.parseFloat(x).toFixed(2);
}

console.log(financial(123.456));
// Expected output: "123.46"

console.log(financial(0.004));
// Expected output: "0.00"

console.log(financial('1.23e+5'));
// Expected output: "123000.00"

Number.prototype.toString(radix: Number)

将数字转换为对应字符串,radix 指定要用于数字到字符串的转换的基数 (从 2 到 36)。如果未指定 radix 参数,则默认值为 10。

js 复制代码
console.log((17).toString()); // 输出 '17'
console.log((17.2).toString()); // 输出 '17.2'
console.log((-10).toString(2)); // 输出 '-1010'
console.log((-0xff).toString(2)); // 输出 '-11111111'

参考文献

developer.mozilla.org/zh-CN/docs/...

相关推荐
张拭心4 小时前
Cursor 又偷偷更新,这个功能太实用:Visual Editor for Cursor Browser
前端·人工智能
I'm Jie4 小时前
深入了解 Vue 3 组件间通信机制
前端·javascript·vue.js
用户90443816324605 小时前
90%前端都踩过的JS内存黑洞:从《你不知道的JavaScript》解锁底层逻辑与避坑指南
前端·javascript·面试
CodeCraft Studio6 小时前
文档开发组件Aspose 25.12全新发布:多模块更新,继续强化文档、图像与演示处理能力
前端·.net·ppt·aspose·文档转换·word文档开发·文档开发api
无敌最俊朗@6 小时前
STL-vector面试剖析(面试复习4)
java·面试·职场和发展
PPPPickup6 小时前
easychat项目复盘---获取联系人列表,联系人详细,删除拉黑联系人
java·前端·javascript
老前端的功夫6 小时前
前端高可靠架构:医疗级Web应用的实时通信设计与实践
前端·javascript·vue.js·ubuntu·架构·前端框架
Benmao⁢7 小时前
C语言期末复习笔记
c语言·开发语言·笔记·leetcode·面试·蓝桥杯
前端大卫7 小时前
【重磅福利】学生认证可免费领取 Gemini 3 Pro 一年
前端·人工智能
孜燃7 小时前
Flutter APP跳转Flutter APP 携带参数
前端·flutter