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

相关推荐
指尖的记忆6 分钟前
前端 Monorepo 实战指南:仓库多到切疯?
前端
csdn2015_12 分钟前
java 把对象转化为json字符串
java·前端·json
shughui15 分钟前
Fiddler(二):自动转发(AutoResponder)功能详解
前端·测试工具·fiddler
初见雨夜17 分钟前
OpenAI 官方出手:把 Codex 接进 Claude Code
前端·openai·ai编程
前端付豪18 分钟前
实现消息级操作栏
前端·人工智能·后端
GISer_Jing21 分钟前
Claude Code的「渐进式披露」——让AI Agent从“信息过载”到“精准高效”
前端·人工智能·aigc
apcipot_rain27 分钟前
HTML知识概述
前端·javascript·html
leiming635 分钟前
巧用 FreeRTOS 任务通知作“邮箱”:NeoPixel 灯环控制实战
java·前端·算法
茶底世界之下41 分钟前
Harbeth:高性能Metal图像处理库,让你的图片处理速度飞起来!
前端·github·swift
wangfpp44 分钟前
Pretext 如何颠覆前端文本布局
前端