Skip to content
扫码开始移动端阅读

如何巧妙的在JS中表达一个数字

560
需要≈
2.8
分钟
JavaScript

引言

在 JavaScript 中,数字不仅仅是简单的数值。不同的表示方式为开发者提供了灵活性和可读性,尤其在处理大数值或特定计算时显得尤为重要。本文将探讨数字在 JavaScript 中的多种写法及其应用场景,并附上代码实例以便更好理解。

1. 科学计数法

科学计数法是一种简洁的表示方式,特别适合表示极大或极小的数值。通过使用 eE,如 6e4 表示 (6 \times 10^4),可以有效减少代码的长度和复杂性。

应用场景

  • 科学计算
  • 财务应用

示例代码

javascript
const largeNumber = 6e5; // 表示 600000
console.log(`一个大数字:${largeNumber}`);

参考链接

2. 数字分隔符

从 ES2021 开始,JavaScript 支持使用下划线 _ 来分隔数字,使其更易读。例如,60000 可以写作 6_0000。这种写法在处理大数字时极为便利。

应用场景

  • 处理大数字(如人口、经济数据)

示例代码

javascript
const population = 1_400_000_000; // 使用下划线分隔
console.log(`全球人口约为:${population}`);

参考链接

3. 进制表示

  • 十六进制:使用 0x 前缀表示,例如 0xFF5733。常用于颜色表示和内存地址。

  • 八进制:使用 0o 前缀,例如 0o16400。在某些情况下用于表示文件权限。

  • 二进制:使用 0b 前缀,例如 0b111。适用于权限控制和位运算。

应用场景

  • 十六进制:图形编程、颜色处理
  • 二进制:权限管理、位操作

示例代码

javascript
function getRandomColor() {
    const randomNum = Math.floor(Math.random() * 0xFFFFFF); // 生成 0 到 16777215 的随机数
    return `#${randomNum.toString(16).padStart(6, '0')}`; // 转换为十六进制并补零
}

console.log(getRandomColor()); // 输出随机颜色,如 #a3f5c8

function randomBinary() {
    return Math.floor(Math.random() * 0b111111); // 生成 0 到 63 的随机二进制数
}

const binNum = randomBinary();
console.log(`随机二进制数:${binNum.toString(2)}`); // 输出随机二进制数
console.log(`与 0b1010 进行 AND 操作:${binNum & 0b1010}`); // 示例位运算

参考链接

结语

js还是非常有趣的,只是js也有一些禁忌,比如08 == 010,012 == 12,0x10 == 16等等。

上次更新: