JavaScript Number 对象

JavaScript 只有一种数字类型。

可以使用也可以不使用小数点来书写数字。

JavaScript 数字

JavaScript 数字可以使用也可以不使用小数点来书写:

实例

var

pi=3.14;    // 使用小数点

var

x=34;       // 不使用小数点

极大或极小的数字可通过科学(指数)计数法来写:

实例

var y=123e5;    // 12300000

var z=123e-5;   // 0.00123

所有 JavaScript 数字均为 64 位

JavaScript 不是类型语言。与许多其他编程语言不同,JavaScript 不定义不同类型的数字,比如整数、短、长、浮点等等。

在JavaScript中,数字不分为整数类型和浮点型类型,所有的数字都是由

浮点型类型。JavaScript 采用 IEEE754 标准定义的 64 位浮点格式表示数字,它能表示最大值(Number.MAX_VALUE)为 ±1.7976931348623157e+308,最小值(Number.MIN_VALUE)为 ±5e-324。

此格式用 64 位存储数值,其中 0 到 51 存储数字(片段),52 到 62 存储指数,63 位存储符号:

值 (aka Fraction/Mantissa)

指数(Exponent)

符号(Sign)

52 bits (0 - 51)

11 bits (52 - 62)

1 bit (63)

精度

整数(不使用小数点或指数计数法)最多为 15 位。

实例

varx=999999999999999;//x 为 999999999999999vary=9999999999999999;//y 为 10000000000000000

尝试一下 »

小数的最大位数是 17,但是浮点运算并不总是 100% 准确:

实例

var x = 0.2+0.1; // 输出结果为 0.30000000000000004

尝试一下 »

八进制和十六进制

如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 "x",则解释为十六进制数。

实例

var y = 0377;

var z = 0xFF;

尝试一下 »

绝不要在数字前面写零,除非您需要进行八进制转换。

默认情况下,JavaScript 数字为十进制显示。

但是你可以使用 toString() 方法 输出16进制、8进制、2进制。

实例

var myNumber=128;

myNumber.toString(16);   // 返回 80

myNumber.toString(8);    // 返回 200

myNumber.toString(2);    // 返回 10000000

尝试一下 »

无穷大(Infinity)

当数字运算结果超过了JavaScript所能表示的数字上限(溢出),结果为一个特殊的无穷大(infinity)值,在JavaScript中以Infinity表示。同样地,当负数的值超过了JavaScript所能表示的负数范围,结果为负无穷大,在JavaScript中以-Infinity表示。无穷大值的行为特性和我们所期望的是一致的:基于它们的加、减、乘和除运算结果还是无穷大(当然还保留它们的正负号)。

实例

myNumber=2;

while (myNumber!=Infinity)

{

myNumber=myNumber*myNumber; // 重复计算直到 myNumber 等于 Infinity

}

尝试一下 »

除以0也产生了无限:

实例

var x = 2/0;

var y = -2/0;

尝试一下 »

NaN - 非数字值

NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。

你可以使用 isNaN() 全局函数来判断一个值是否是 NaN 值。

实例

var x = 1000 / "Apple";

isNaN(x); // 返回 true

var y = 100 /

"1000";

isNaN(y); // 返回 false

尝试一下 »

除以0是无穷大,无穷大是一个数字:

实例

var x = 1000 / 0;

isNaN(x); // 返回 false

尝试一下 »

数字可以是数字或者对象

数字可以私有数据进行初始化,就像

x = 123;

JavaScript 数字对象初始化数据, var y = new

Number(123);

实例

var x = 123;

var y = new Number(123);

typeof(x) // 返回 Number

typeof(y) // 返回 Object

尝试一下 »

实例

var x = 123;

var y = new Number(123);

(x === y) // 为 false,因为 x 是一个数字,y 是一个对象

尝试一下 »

Number 属性

属性

描述

Number.MAX_VALUE

最大值

Number.MIN_VALUE

最小值

Number.NaN

非数字

Number.NEGATIVE_INFINITY

负无穷,在溢出时返回

Number.POSITIVE_INFINITY

正无穷,在溢出时返回

Number.EPSILON

表示 1 和比最接近 1 且大于 1 的最小 Number 之间的差别

Number.MIN_SAFE_INTEGER

最小安全整数。

Number.MAX_SAFE_INTEGER

最大安全整数。

数字方法

方法

描述

Number.parseFloat()

将字符串转换成浮点数,和全局方法 parseFloat() 作用一致。

Number.parseInt()

将字符串转换成整型数字,和全局方法 parseInt() 作用一致。

Number.isFinite()

判断传递的参数是否为有限数字。

Number.isInteger()

判断传递的参数是否为整数。

Number.isNaN()

判断传递的参数是否为 isNaN()。

Number.isSafeInteger()

判断传递的参数是否为安全整数。

数字类型原型上的一些方法

方法

描述

toExponential()

返回一个数字的指数形式的字符串,如:1.23e+2

toFixed()

返回指定小数位数的表示形式。

var a=123;

b=a.toFixed(2); // b="123.00"

toPrecision()

返回一个指定精度的数字。如下例子中,a=123 中,3会由于精度限制消失:

var a=123;

b=a.toPrecision(2); // b="1.2e+2"

html number方法,JavaScript Number 对象相关推荐

  1. ES6-11数值扩展:二进制和八进制、数值分隔符、Number.isFinite()、Number.isNaN()等

    1. 二进制和八进制 用前缀0b(或0B)和0o(或0O)表示. 0b111110111 === 503 // true 0o767 === 503 // true// 非严格模式 (function ...

  2. c语言int超出范围字符串,Go返回int64类型字段超出javascript Number范围的解决方法...

    Go返回int64类型字段超出javascript Number范围的解决方法 最近在项目中,一个go服务给前端提供了一个接口,返回json格式数据,其中Int64字段会超出javascript Nu ...

  3. vue使用JavaScript的Number方法或正则表达式进行表单验证,判断值是否为数字(包括整数和小数),验证值只能为小数点后一位

    更新在最前面,新增使用正则表达式判断是否为数字的方法.使用Number方法的问题在最后面已写出.更新一个正则表达式判断的方法. 使用正则表达式判断 //判断是否为数字 var a = "1& ...

  4. JavaScript 复制对象与Object.assign方法无法实现深复制

    在JavaScript这门语言中,数据类型分为两大类:基本数据类型和复杂数据类型.基本数据类型包括Number.Boolean.String.Null.String.Symbol(ES6 新增),而复 ...

  5. JavaScript的对象、属性与方法

    目录 一.JavaScript的预解析 二 .JavaScript的对象(面向对象编程) 1.对象:是一种数据类型.是属性和方法的集合 (1)属性:是对象的静态特征 (2)方法(函数):是对象的动态特 ...

  6. [js]JavaScript Number.toPrecision() 函数详解

    [js]JavaScript Number.toPrecision() 函数详解 JavaScript: numberObject.toPrecision( [ precision ] ) 如果没有提 ...

  7. javascript Number object

    属性 属性 描述 Number.MAX_VALUE The largest representable number (±1.7976931348623157e+308) Number.MIN_VAL ...

  8. Number类型? Number的属性?Number的方法?

    Number类型? Math是数学类型,针对数学方法做操作. Number是数值类型,针对数值做操作.如var s=0; <script>var s=1; //s由赋值1可判断为numbe ...

  9. js,vue,javascript数组对象的升序降序方法封装

    /*** @author lp* @desc 数组对象排序* sort会改变原数据,无需return* @param {arr:需要排序数据,column:参与排序字段,order:asc正序,des ...

最新文章

  1. 实现软件自动启动代码
  2. 神经网络与定态薛定谔方程
  3. VitrualBox、vagrant、homestead的关系
  4. 【笔记】Automatic recognition of soybean leaf diseases using UAV images and deep convolutional neural ne
  5. java正则表达式 引用_java – 正则表达式检索引用的字符串和引用字符
  6. 今天开始写技术博客啦
  7. Dubbo(七)之自动加载环境变量
  8. Fragment与Activity传递数据
  9. [译]使用asp.net mvc 的工具提示
  10. mysql 缓冲查询_MySQL查询高速缓冲
  11. 2029年计算机考试题目,计算机二级题集
  12. 计算机桌面图标有小纸张,电脑桌面图标上都有个小图标,为什么
  13. 12.Flask-Restful
  14. caffe loss layer
  15. Arturia Analog Lab for Mac - 原始混合合成器
  16. 各代iphone尺寸_历代iPhone尺寸对比,你最喜欢哪一代?
  17. Java分布式锁那点事
  18. photoshop第五章:图像的调整
  19. mysql 垃圾_垃圾mysql pipelin
  20. 简单解释 P2P 技术之 UDP 打洞

热门文章

  1. 不是linux内核的国产系统,国产操作系统都是山寨Windows的?为何用Linux内核?
  2. mysql自增id前端安全显示_mysql使用自增id遇到的坑
  3. java字节数_Java各种类型占用的字节数
  4. dedecms使用php语法,dedecms中使用php语句指南,dedecmsphp语句指南_PHP教程
  5. php namespace原理作用,php 命名空间(namespace)原理与用法实例小结
  6. 【Nginx】错误: [emerg] “proxy_pass“ cannot have URI part in location given by regular expression,...
  7. vue的route懒加载
  8. composer查看当前镜像取消_Docker image镜像常用命令
  9. 计算机系统通过执行通道程序完成数据,批量数据传送
  10. 农村信用社计算机基础知识,2014年云南省农村信用社考试计算机基础知识练习题...