JavaScript的数字Number(Number的创建、操作、属性、方法、特殊值的详细介绍)

您所在的位置:网站首页 js字符串乘以数字 JavaScript的数字Number(Number的创建、操作、属性、方法、特殊值的详细介绍)

JavaScript的数字Number(Number的创建、操作、属性、方法、特殊值的详细介绍)

2024-05-27 09:56| 来源: 网络整理| 查看: 265

JavaScript只有一种数字类型。 可以带小数,也可以不带小数。

声明创建十进制数字

创建整数与小数

var x=3; var y=3.14; alert(x); alert(y);

可以使用科学表示法创建特大或特小数字 e5表示10的5次方:1010101010:100000

var x=123e5; var y=123e-5; alert(x); alert(y); 声明创建不同进制的数字

如果数字常量以0x开头,则JavaScript会将其解释为十六进制。

var x = 0xFF; document.write(x); result:255

切勿写一个以零开头的数字(例如07)。 如果某些JavaScript版本以数字开头,则将数字解释为八进制。 默认情况下,JavaScript将数字显示为以10为基数的小数。 不过使用toString()方法输出数字可以设定输出的进制 十六进制为基数16。十进制为基数10。八进制为基数8。二进制为基数2。

JavaScript数字始终是64位浮点

与许多其他编程语言不同,JavaScript不会定义不同类型的数字的数据类型,例如整数int,短整数short,长整数long,浮点数float等。

在所有情况下,您都将获得“数字Number”这个数据类型。 不论您的值是整数(小还是大)还是十进制数(又是大还是小,需要科学记数法),JavaScript语言仅公开一种类型Number来表示所有这些值。

typeof 1234; "number" typeof 2e32; "number" typeof 12.34; "number" typeof 12.34e56; "number" 精度

整数(不带句点或指数表示法的数字)的精度最高为15位数字。

var x = 999999999999999; // x will be 999999999999999(精确到15位) var y = 9999999999999999; // y will be 10000000000000000(不精确)

小数位数的最大值是17,但是浮点算术并不总是100%准确的: To solve the problem above, it helps to multiply and divide:

var x = 0.2,y=0.1; alert(x+y); alert(x*10+y*10)/10; Number操作

WARNING !! JavaScript uses the + operator for both addition(加法) and concatenation(串联). Numbers are added(数字相加). Strings are concatenated.(字符串串联)

如果将两个数字相加,则结果将是一个数字: 如果添加两个字符串,结果将是字符串串联: 如果添加数字和字符串,结果将是字符串串联: 如果添加字符串和数字,结果将是字符串串联:

JavaScript解释器从左到右起作用(运算顺序从左到右)。

数字值是否相等的比较

== and === 两个数字的值如果相等如果双等号比较返回true,全等号比较也返回true,

var mynum=255; var y=new Number(255); alert(mynum==y);//true alert(mynum===y);//false 特殊Number:值为数字的字符串

JavaScript字符串可以包含数字内容:

var x = 100; // x is a number var y = "100"; // y is a string

JavaScript将尝试在所有数字运算中将字符串转换为数字: 数字字符串如果使用数字运算则会自动转换为数字

var x = "100"; var y = "10"; var z = x / y; // z will be 10 alert(z); alert(typeof z);//z is number here

两个包含数字的字符串相加仍然是字符串串联(乘,除,减的情况下,数字字符串都是作为数字参加操作)

var x = "100"; var y = "10"; var z = x + y; //10010 alert(z); alert(typeof z);//z is string here 特殊Number:NaN(非数字)

NaN是JavaScript保留字,表示数字不是合法数字。 NaN is a number: typeof NaN returns number:

NaN与数字进行算术运算将导致NaN(非数字): NaN与字符串相加返回字符串 您可以使用全局JavaScript函数isNaN()来确定值是否为数字: 提防NaN。 如果在数学运算中使用NaN,则结果也将为NaN:

特殊Number:Infinity(最大最小值)

Infinity(或-Infinity)是如果您计算的数字超出最大可能数,JavaScript将返回的值。

var myNum=2; txt=""; while(myNum!=Infinity){ myNum=myNum*myNum; txt+=myNum+""; }; document.write(txt); result: 4 16 256 65536 4294967296 18446744073709552000 3.402823669209385e+38 1.157920892373162e+77 1.3407807929942597e+154 Infinity

除以0(零)也会生成无穷大:

var x=2/0; var y=-2/0; document.write(x); document.write(""); document.write(y); result: Infinity -Infinity

Infinity的数据类型是Number

document.write(2/0); document.write(""); document.write(typeof (3/0)); result: Infinity number 数字可以是对象

通常,JavaScript数字是根据文字创建的原始值: 但是数字也可以使用关键字new定义为对象:

document.write(typeof mynum+""); document.write(typeof y+""); result: number object Number方法

原始值(例如3.14或2014)不能具有属性和方法(因为它们不是对象)。 但是对于JavaScript,方法和属性也可用于原始值,因为JavaScript在执行方法和属性时会将原始值视为对象。

toString()方法:将数字转换为字符串

var x=123; var xx=x.toString(); alert(typeof xx);

所有数字Number方法均可用于任何类型的数字(文字,变量或表达式):

toExponential() 转换成指数表示法

var x=9.786; alert(x.toExponential(2)); var y=9786.83; alert(y.toExponential(3));

toExponential的参数是可选的。 如果未指定,JavaScript将不会舍入该数字。

toFixed()方法 toFixed()返回一个字符串,该数字用指定的小数位数书写:

toPrecision()方法 toPrecision()返回一个字符串,该字符串具有指定长度的数字:(用于精确数字的总长度)

valueOf方法 数字可以是原始值,也可以是对象,所以valueOf可以获取数字对象的值 The valueOf() method is used internally in JavaScript to convert Number objects to primitive values. There is no reason to use it in your code. 所有的数据类型都有valueOf方法和toString()方法

var x=new Number("200"); alert(x); alert(x.valueOf());//这个方法似乎有点多此一举

将变量转换为数字 有3种JavaScript方法可用于将变量转换为数字:

Number()方法parseInt()方法parseFloat()方法

这些方法不是数字方法,而是全局JavaScript方法。

Number()可用于将JavaScript变量转换为数字(If the number cannot be converted, NaN (Not a Number) is returned.): Number()也可以将日期转换为数字:

parseInt()解析字符串并返回整数。 允许有空格。 仅返回第一个数字: parseFloat()解析字符串并返回数字。 允许有空格。 仅返回第一个数字:

Number属性 非数字 NaN无穷大 MAX_VALUE无穷小 MIN_VALUE无穷大溢出 Infinity无穷小溢出 -Infinity var min=Number.MIN_VALUE; document.write(min+""); var x=Number.MAX_VALUE; document.write(x+""); var y=1/0; document.write(y+""); var z=-1/0; document.write(z+""); /* result: 5e-324 1.7976931348623157e+308 Infinity -Infinity */ Number属性不能用于变量

Number属性属于JavaScript的Number对象包装器,称为Number。 这些属性只能作为Number.MAX_VALUE访问。 使用myNumber.MAX_VALUE(其中myNumber是变量,表达式或值)将返回未定义undefined:

var x=123; alert(x.MAX_VALUE);//undefined


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3