JavaScript 数字方法

  • 数字方法和属性

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

    toString()方法返回一个数字字符串。所有数字方法都可用于任何类型的数字(文字,变量或表达式):
    var x = 123;
    x.toString();            // 返回 123 从 变量 x
    (123).toString();        // 返回 123 从 文字 123
    (100 + 23).toString();   // 返回 123 从 表达式 100 + 23
    尝试一下
  • toExponential()方法

    toExponential()返回一个字符串,使用指数表示法对数字进行舍入和写入。参数定义小数点后面的字符数:
    var x = 9.656;
    x.toExponential(2);     // 返回 9.66e+0
    x.toExponential(4);     // 返回 9.6560e+0
    x.toExponential(6);     // 返回 9.656000e+0
    尝试一下
    该参数是可选的。如果您没有指定它,JavaScript将不会对数字进行舍入。
  • toFixed()方法

    toFixed()返回一个字符串,其中使用指定的小数位数写入数字:
    var x = 9.656;
    x.toFixed(0);           // 返回 10
    x.toFixed(2);           // 返回 9.66
    x.toFixed(4);           // 返回 9.6560
    x.toFixed(6);           // 返回 9.656000
    尝试一下
    toFixed(2) 非常适合用来表示金额。
  • toPrecision()方法

    toPrecision()返回一个字符串,其中的数字写有指定的长度:
    var x = 9.656;
    x.toPrecision();        // 返回 9.656
    x.toPrecision(2);       // 返回 9.7
    x.toPrecision(4);       // 返回 9.656
    x.toPrecision(6);       // 返回 9.65600
    尝试一下
  • valueOf()方法

    valueOf()返回一个数字类型的数字。
    var x = 123;
    x.valueOf();            // 返回 123 从 变量 x
    (123).valueOf();        // 返回 123 从 文字 123
    (100 + 23).valueOf();   // 返回 123 从 表达式 100 + 23
    
    尝试一下
    在JavaScript中,数字可以是原始值(typeof = number)或对象(typeof = object)。valueOf()方法在JavaScript内部用于将Number对象转换为原始值。
    所有JavaScript数据类型都有一个valueOf()和一个toString()方法。
  • 将变量转换为数字

    有3种JavaScript方法可用于将变量转换为数字:
    方法 描述
    Number() 返回一个从其参数转换而来的数字。
    parseFloat() 解析其参数并返回浮点数
    parseInt() 解析其参数并返回一个整数
    这些方法不是数字方法,而是全局JavaScript方法。
    JavaScript全局方法可用于所有JavaScript数据类型。在处理数字时,这些是最相关的方法:
  • Number()方法

    Number()可用于将JavaScript变量转换为数字:
    Number(true);     // 返回 1
    Number(false);         // 返回 0
    Number("10");          // 返回 10
    Number("  10");        // 返回 10
    Number("10  ");        // 返回 10
    Number(" 10  ");       // 返回 10
    Number("10.33");       // 返回 10.33
    Number("10,33");       // 返回 NaN
    Number("10 33");       // 返回 NaN 
    Number("John");        // 返回 NaN
    尝试一下
    如果无法转换数字,则返回NaN(非数字)。
    日期使用的Number()方法
    Number()还可以将日期转换为数字(时间戳,是1970年1月1日0点开始的豪秒数):
    Number(new Date("2017-09-30"));    // 返回 1506729600000
    尝试一下
  • parseInt()方法

    parseInt()解析一个字符串(允许空格)并返回一个整数。只返回第一个数字:
    parseInt("10");    // 返回 10
    parseInt("10.33");      // 返回 10
    parseInt("10 20 30");   // 返回 10
    parseInt("10 years");   // 返回 10
    parseInt("years 10");   // 返回 NaN
    尝试一下
    如果无法转换数字,则返回NaN(非数字)。
  • parseFloat()方法

    parseFloat()解析一个字符串(允许空格)并返回一个数字。只返回第一个数字:
    parseFloat("10");   // 返回 10
    parseFloat("10.33");     // 返回 10.33
    parseFloat("10 20 30");  // 返回 10
    parseFloat("10 years");  // 返回 10
    parseFloat("years 10");  // 返回 NaN
    尝试一下
    如果无法转换数字,则返回NaN(非数字)。
  • 数字属性

    属性 描述
    MAX_VALUE 返回JavaScript中可能的最大数字
    MIN_VALUE 返回JavaScript中可能的最小数字
    POSITIVE_INFINITY 表示无穷大(溢出时返回)
    NEGATIVE_INFINITY 表示负无穷大(溢出时返回)
    NaN 表示“非数字”值
  • MIN_VALUE和MAX_VALUE

    MAX_VALUE返回JavaScript中可能的最大数字。
    var x = Number.MAX_VALUE;
    尝试一下
    MIN_VALUE返回JavaScript中可能的最小数字。
    var x = Number.MIN_VALUE;
    尝试一下
  • POSITIVE_INFINITY和NEGATIVE_INFINITY

    var x = Number.POSITIVE_INFINITY;
    var y = Number.NEGATIVE_INFINITY;
    尝试一下
    POSITIVE_INFINITY , NEGATIVE_INFINITY溢出时返回:
    var x = 1 / 0;
    var y = -1 / 0;
    尝试一下
  • NaN

    NaN是一个JavaScript保留字,表示数字不是合法数字。尝试使用非数字字符串进行算术将导致NaN(Not a Number):
    var x = Number.NaN;
    尝试一下
    var x = 100 / "Apple";  // x 是 NaN (Not a Number)
    尝试一下
  • 数字属性不能在变量上使用

    Number属性属于名为Number的JavaScript的数字对象包装器。这些属性只能作为Number对象的属性访问。使用myNumber.MAX_VALUE,其中myNumber是变量,表达式或值,将返回undefined
    var x = 6;
    var y = x.MAX_VALUE;    // y 将成为 undefined
    尝试一下
    完整的JavaScript数字参考,请查看我们的JavaScript参考