博客
关于我
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/

你可能感兴趣的文章
Oracle11g服务详细介绍及哪些服务是必须开启的?
查看>>
Oracle11g静默安装dbca,netca报错处理--直接跟换操作系统
查看>>
oracle12安装软件后安装数据库,然后需要自己配置监听
查看>>
Oracle——08PL/SQL简介,基本程序结构和语句
查看>>
Oracle——distinct的用法
查看>>
Oracle、MySQL、SQL Server架构大对比
查看>>
oracle下的OVER(PARTITION BY)函数介绍
查看>>
Oracle中DATE数据相减问题
查看>>
Oracle中merge into的使用
查看>>
oracle中sql查询上月、本月、上周、本周、昨天、今天的数据!
查看>>
oracle中sql的case语句运用--根据不同条件去排序!
查看>>
Oracle中Transate函数的使用
查看>>
oracle中关于日期问题的汇总!
查看>>
Oracle中常用的语句
查看>>
Oracle中序列的操作以及使用前对序列的初始化
查看>>
oracle中新建用户和赋予权限
查看>>
Oracle中的NVL,NVL2,NULLIF以及COALESCE函数使用
查看>>
Oracle中的rownum 和rowid的用法和区别
查看>>
oracle中的大小写、字符、dual、数字、处理、日期、函数、显/隐式、时间、条件表达式case、decode、to_date、to_char、sysdate
查看>>
oracle中表和视图的区别,oracle中常用表和视图
查看>>