您现在的位置:首页 >> 前端 >> 内容

Number对象的数值常量和方法详解

时间:2018/5/7 9:40:51 点击:

  核心提示:Number对象定义:Number对象是原始数值的包装对象Number()和运算符new一起作为构造函数使用时,他是一个返回值,它用来返回一个新创建的Number对象,如果不用new,而只把Numbe...

Number对象

定义:Number对象是原始数值的包装对象

Number()和运算符new一起作为构造函数使用时,他是一个返回值,它用来返回一个新创建的Number对象,如果不用new,而只把Number()作为一个函数来调用,他将把自己的参数换成一个原始的数值并且返回这个值(如果转换失败则返回NaN)

写法一:var myNum1=new Number(value1);

写法二:var myNum2=Number(value2);

写法一:new代表的是创建了一个新的number对象,并且返回这个新创建的number对象,value就是这个新建对象的值。

写法二:没有写new,代表的是将这个value2值转变为一个number型的数值。如果转变不成功则直接返回NaN,

        这个方法可用于将其他可转化类型的数据转化为Number型数据。

差距很大,注意一个是创建,一个是转换。

例如:

(1)var myNum=Number("235");

document.write(myNum);//返回数值235

(2)var myNum1=Number(5656);

document.write(myNum1);//返回数值5656

(3)var myNum2=Number("ass");

document.write(myNum2);//返回NaN

   例一返回数值235,例二返回5656,例三返回NaN,

Number对象的数值常量:

   可以使用with运算符简化编码

  如:with(Number) {

   。。。。。数值常量,函数的调用。

             }

也可以使用 “Number.数值常量”的写法。注意必须是点,不能是括号,需要注意的是这些数值常量就是函数Number()自身的属性,而不是单独的某个Number对象的属性。,

所以在使用的时候要直接使用Number.数值常量,而不是创建一个新对象再去调用这个数值常量。

      Number的常用的数值常量包含以下几种:

(1) MAX_VALUE  表示可以使用的最大值。

(2) MIN_VALUE   表示可以使用的最小值。

(3) POSITIVE_INFINITY  表示正无穷大,溢出时返回该值。

(4) NEGATIVE_INFINITY  表示负无穷大,溢出时返回该值。

(5) NaN   用于表示不是数字。

Number对象的方法

Number中的方法:

(1) toString(基数num)

      定义:将数字转化成字符串,(注意要使用指定的基数)

    即形式为:Number对象.toString (转化基数默认为10即为10进制)

    基数的可选范围为2~36,基数num就是进制级别,基数是2就代表这个Number对象将会被转换为一个二进制的字符串

(2) toLocaleString() 

      定义:将数字装换成字符串,并且使用本地的数字格式顺序进行转换。也就是说,你给他定义格式,来格式化这个数字。

    新建一个Number对象a。随后调用方法,a.toLocaleString(),括号中为格式化要求。(若不填,则原样显示)

   //number 对象方法。  toLocaleString() 

   var a = new Number(123456);

   document.write("<br>原值显示:"+a.toLocaleString());//123,456

   document.write("<br>格式化显示:"+a.toLocaleString("zh-Hans-CN-u-nu-hanidec"));  //一二三,四五六

(3) toFixed(参数num)

定义:将数字转换为字符串,结果的小数点后边有指定位数的数字。

新建一个Number对象b,b的内容是123456.789.随后调用这个方法b.toFixed(num);  num指定小数点后边的位数,num默认为0。

     1)如果num小于对象本身的小数点后的个数,那么就会四舍五入进行显示。

     2)如果num大于对象本身小数点后边的个数,那么在后边补上0,多几位就补几位0。

   //number对象方法。toFixed()

   var b=new Number(123456.789653);

    document.write("<br>无参数值显示(默认为0),:"+b.toFixed());//123457

    document.write("<br>有两位小数(会对后边的数进行四舍五入):"+b.toFixed(2));//123456.79

    document.write("<br>参数大于对象本身的小数个数(进行补零):"+b.toFixed(10));//123456.7896530000

(4) toExponential(参数num)

exponential是形容词指数的,幂的意思。

定义:用于将对象的值转换为指数计数法。参数num是可选的,用于指定指数计数法的时候小数的位数,即小数点之前有一位数字,小数点之后有num位数字。

   1)当num参数为null时,参数将默认使用更多的数字,即对于小数位数没有特别长的数值将整体进行显示。

   2)当参数为小于原对象数值的小数点位数时,采取四舍五入的方式进行输出,e+的数值为小数点向前移动的位数。

   3)当参数为大于原对象小数点位数时,会自动原对象小数点的尾数后边进行补0。

  //number对象方法:toExponential()

  var c=new Number(123.456000789);

document.write("<br>参数默认为空:"+c.toExponential());//1.23456000789e+2

document.write("<br>参数2:"+c.toExponential(2));//1.23e+2

document.write("<br>参数为0:"+c.toExponential(0));//1e+2

document.write("<br>参数为15:"+c.toExponential(15));//1.234560007890000e+2

(5) toPrecision(参数num)

precision为名词精密精度,形容词精密的。

定义:用于将数字格式化为指定的长度,十进制的字符串,注意这个指定的长度不是小数点之后的位数,而是所有的数值的总位数。

  1)当参数num为null时等同于方法toString()。

  2)当num大于原对象位数时,自动在后边补零。

  3)当num小于原对象位数时,四舍五入进行显示。

//number对象方法: toPrecision()

var d =new Number(123456.03633);

document.write("<br>指定精度参数为空:"+d.toPrecision());//123456.03633

       document.write("<br>指定精度参数为2:"+d.toPrecision(2));//1.2e+5

document.write("<br>指定精度参数为10:"+d.toPrecision(10));//123456.0363

document.write("<br>指定精度参数为15:"+d.toPrecision(15));//123456.036330000

 (6) valueOf() 

    定义:返回一个Number对象的基本数字值。

   括号里面无参数。

//number对象方法:valueOf()

var e=new Number(36589.21356);

document.write("<br>直接显示原值:"+e.valueOf());//36589.21356

Tags:NU UM MB BE 
作者:网络 来源:F-ZERO-F的博