[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 是从 2 到 36 的整数,表示进制的基数。如果超出这个范围,将返回 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/...

相关推荐
拖孩2 小时前
AI 帮我写的小程序「厨菜记」上线满月了,挣了两百块!!!
前端·后端·微信小程序
用户360055579002 小时前
Kestrel_VLLM - 13 · 为什么排除 MoE FFN Tiling 与 Tensor Core
前端
Hilaku2 小时前
AI 流式输出都用 SSE,什么时候必须换 WebSocket?
前端·javascript·程序员
桃桃乌龙_2 小时前
LangGraph 深度解析:从链到图,把 Agent 的循环画出来
面试
奇牙coding2 小时前
Codex CLI 升级后多文件编辑静默失效:config.yaml 枚举变更排查与修复指南
java·前端·javascript·ai
小羊没烦恼!2 小时前
Ajax与JSON的一些总结
android·java·前端·数据库·mysql·算法·okhttp
考研保研资料分享2 小时前
地信遥感保研至南京大学南赫:六场考核与跨专业失利复盘
面试
程序员老赵2 小时前
Docker 部署 Filestash:轻松搭建浏览器文件管理平台
前端·docker·开源
夏天要喝冰可乐2 小时前
给 23 万字修仙小说造个阅读站:浏览器内打包 EPUB 分页阅读 + 三主题实战
前端·产品·全栈
茶底世界之下2 小时前
林间步道要不要加暗角?用 Awaking 把强度收在20%
前端·ios·图片资源