博客
关于我
JavaScript Number 对象
阅读量:218 次
发布时间:2019-02-28

本文共 1722 字,大约阅读时间需要 5 分钟。

JavaScript 数字类型

在 JavaScript 中,所有数字都统一作为 64 位浮点数(双精度浮点)来存储。这意味着无论是整数、浮点数还是指数形式的数字,都会被转换为 64 位浮点数格式。

数字在 JavaScript 中可以通过多种方式书写:

- **不使用小数点或指数形式**: - `var x = 34;` - `var y = 123;` - **使用小数点**: - `var pi = 3.14;` - `var a = 0.0001;` - **使用指数形式(科学计数法)**: - `var y = 123e5;` - `var z = 123e-5;`

需要注意的是,指数形式中的 `e` 可以与 `E` 同样使用(`e` 或 `E`),并且指数部分可以是正数或负数。例如:

- `var n = 5.23e+2;` - `var m = 4.7e-3;`

### 数字的精度

在 JavaScript 中,数字的精度受到一定限制:

- **整数**:无小数点时,最多可以表示 15 位有效数字。例如:

- `var x = 123456789012345;` - `var y = 1234567890123;`(此时会溢出到 Infinity) - **浮点数**:最多可以表示 17 位有效数字。例如:

- `var a = 0.0000000000000001;` - `var b = 123456789012345678.90;`

### 八进制和十六进制表示

在 JavaScript 中,如果数字前面有 0,则会被解释为八进制数。如果前面有 0x,则会被解释为十六进制数。需要注意的是,八进制和十六进制数在前面加 0 时会被自动转换为十进制数:

- `var n = 0377;` - 这会被解释为十进制数 377,八进制数 377 转换为十进制是 3×8² + 7×8 + 7 = 3×64 + 7×8 +7 = 192 + 56 +7 = 255。 - `var m = 0xFF;` - 这会被解释为十进制数 255(十六进制 FF 对应的十进制)。

### 注意事项

- **不要在不需要时前缀 0**:前缀 0 会让 JavaScript 假设数字是八进制或十六进制的。 - **避免混淆八进制和十进制**:如果需要明确表示十进制数,应避免使用前缀 0。 - **避免使用前缀 0x 吗?**:前缀 0x 会被解释为十六进制,但如果你不需要十六进制,可以避免使用。

### 数字的属性和方法

在 JavaScript 中,数字对象(`Number`)具有许多有用的属性和方法。以下是一些常用的属性和方法:

- **属性**: - `MAX_VALUE`:表示最大的正数值,通常为 1.7976931348623157e+308。 - `MIN_VALUE`:表示最小的正数值,通常为 5e-324。 - `NEGATIVE_INFINITY`:表示负无穷大。 - `POSITIVE_INFINITY`:表示正无穷大。 - `NaN`:表示“不是一个数”(Not a Number)。 - `prototype`:数字对象的原型。 - `constructor`:数字对象的构造函数。
  • 方法
    • toExponential():将数字转换为指数形式字符串。例如,3.14.toExponential(2) 会返回 "3.14e2"。
    • toFixed():将数字转换为固定点形式的字符串。例如,3.14.toFixed(2) 会返回 "3.14"。
    • toPrecision():将数字转换为特定精度的字符串。例如,3.1415926535.toPrecision(5) 会返回 "3.14159"。
    • toString():将数字转换为字符串形式。
    • valueOf():返回数字的数值。

### 总结

在 JavaScript 中,数字是非常灵活且强大的工具。它们可以表示为整数、浮点数或指数形式,并且可以通过多种方法进行转换和格式化。了解这些特性可以帮助开发者更高效地进行数值计算和数据处理。

转载地址:http://oxes.baihongyu.com/

你可能感兴趣的文章
Nginx配置Https证书
查看>>
Nginx配置ssl实现https
查看>>
Nginx配置TCP代理指南
查看>>
Nginx配置——不记录指定文件类型日志
查看>>
nginx配置一、二级域名、多域名对应(api接口、前端网站、后台管理网站)
查看>>
Nginx配置代理解决本地html进行ajax请求接口跨域问题
查看>>
nginx配置全解
查看>>
Nginx配置参数中文说明
查看>>
nginx配置域名和ip同时访问、开放多端口
查看>>
Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
查看>>
Nginx配置如何一键生成
查看>>
Nginx配置实例-负载均衡实例:平均访问多台服务器
查看>>
Nginx配置文件nginx.conf中文详解(总结)
查看>>
Nginx配置负载均衡到后台网关集群
查看>>
ngrok | 内网穿透,支持 HTTPS、国内访问、静态域名
查看>>
NHibernate学习[1]
查看>>
NHibernate异常:No persister for的解决办法
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
查看>>
NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
查看>>