首页 > 代码库 > javascript篇:javascript对象——Number

javascript篇:javascript对象——Number

创建Number对象:

var myNum = new Number(value);

var myNum = Num(value);

var myNum = value;//必要时会转换成Number对象,如myNum.toString()先转换,再调用。

var myNum = Number.MAX_VALUE;

 

Number对象的属性

  • Max_VALUE:可表示的最大的数
  • MIN_VALUE:可表示的最小的数
  • NaN:非数字值
  • NEGATIVE_INFINITY:负无穷大,溢出值
  • POSITIVE_INFINITY:整无穷大,溢出值
  • constructor
  • prototype

NUmber对象的方法

  • toString([radix])
      把一个Number对象转换为一个字符串,并返回结果。radix表示数字基数,2~36,默认为10,常用的是2,10,16。
  • toLocalString()
      把一个Number对象转换为本地格式字符串并返回。根据本地格式,可能会影响到小数点位数或千分位分隔符
  • toFixed([num])
      把Number对象四舍五入为指定小数位数(num位)的数值并返回字符串形式,num默认为0,num有上限。为达到num位小数,会进行舍入,或者用0补足。
  • toExponential([num]):1.34e+4
      把Number对象转换为num位小数的指数计数法表示并返回字符串形式,num默认为Number对象的长度,num有上限,为达到num位小数,会进行舍入或者用0补足。
  • toPrecision()
      把Number对象四舍五入为指定位数(num位)的数值并返回字符串形式,num默认为Number对象的长度,num有上限。num大于等于Number对象整数部分的长度,采用定点计数法,否则采用指数计数法。为达到num位数,会进行舍入,或者用0补足。
  • valueOf()

注意:

    1. 关于浮点数运算,会因数值在计算机内存储的原因,涉及到精度问题。比如:
      1 var num1 = 0.1;//转换成2进制,是无限循环2 var num2 = 0.2;//转换成2进制,也是无限循环3 writeLine(num1+num2);//0.30000000000000004

      如果只需要精确到n为有效小数,可以扩展Math,并调用,可简单实现精度控制:

      1 Math.formatFloat = function(f, digit) { 2     var m = Math.pow(10, digit); 3     return parseInt(f * m, 10) / m; 4 }

有一篇文章讲解到关于精度的问题