[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/...

相关推荐
kymjs张涛4 分钟前
零一开源|前沿技术周报 #7
android·前端·ios
爱编程的喵9 分钟前
React入门实战:从静态渲染到动态状态管理
前端·javascript
Tttian62221 分钟前
npm init vue@latestnpm error code ETIMEDOUT
前端·vue.js·npm
患得患失94928 分钟前
【前端】【组件库开发】【原理】【无框架开发】现代网页弹窗开发指南:从基础到优化
前端
唐叔在学习32 分钟前
不用装插件!3轮对话,我用油猴脚本+AI复刻了掘金闪念笔记,真香!
javascript·浏览器
AliciaIr33 分钟前
深入React事件机制:解密“合成事件”与“事件委托”的底层奥秘
javascript·react.js
运维咖啡吧37 分钟前
给朋友们分享个好消息 7天时间23.5k
前端·程序员·ai编程
元气小嘉1 小时前
前端技术小结
开发语言·前端·javascript·vue.js·人工智能
励志的大鹰哥1 小时前
V少JS基础班之第七弹
开发语言·javascript·ecmascript
神仙别闹1 小时前
基于ASP.NET+SQL Server实现(Web)企业进销存管理系统
前端·后端·asp.net