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

相关推荐
禁止摆烂_才浅几秒前
React - 【useEffect 与 useLayoutEffect】 区别 及 使用场景
前端·react.js
5***o50017 分钟前
React安全
前端·安全·react.js
喵个咪31 分钟前
Qt 6 实战:C++ 调用 QML 回调方法(异步场景完整实现)
前端·c++·qt
g***B73843 分钟前
JavaScript数据可视化应用
javascript·信息可视化·数据分析
F***c3251 小时前
React自然语言处理应用
前端·react.js·自然语言处理
1***Q7841 小时前
React项目
前端·javascript·react.js
幸福专买店1 小时前
【Flutter】flutter 中 包裹内容显示 的设置方式
前端·javascript·flutter
U***49832 小时前
React Native性能分析
javascript·react native·react.js
和和和2 小时前
🗣️面试官: 那些常见的前端面试场景问题
前端·javascript·面试
lxp1997412 小时前
vue笔记摘要-更新中
前端·vue.js·笔记