• JavaScript 23 JavaScript 数字方法


    JavaScript

    23 JavaScript 数字方法

    Number 方法帮助您处理数值。

    23.1 Number 方法和属性

    原始值(比如 3.14 或 2016),无法拥有属性和方法(因为它们不是对象)。

    但是通过 JavaScript,方法和属性也可用于原始值,因为 JavaScript 在执行方法和属性时将原始值视作对象。

    23.1.1 toString() 方法

    toString() 以字符串返回数值。

    所有数字方法可用于任意类型的数字(字面量、变量或表达式):

    var x = 123;
    x.toString();            // 从变量 x 返回 123
    (123).toString();        // 从字面量 123 返回 123
    (100 + 23).toString();   // 从表达式 100 + 23 返回 123
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    23.1.2 toExponential() 方法

    toExponential() 返回字符串值,它包含已被四舍五入并使用指数计数法的数字。

    参数定义小数点后的字符数:

    var x = 9.656;
    x.toExponential(2);     // 返回 9.66e+0
    x.toExponential(4);     // 返回 9.6560e+0
    x.toExponential(6);     // 返回 9.656000e+0
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    该参数是可选的。如果没有设置它,JavaScript 不会对数字进行舍入。

    23.1.3 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
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    toFixed(2) 非常适合处理金钱。

    23.1.4 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
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    23.1.5 valueOf() 方法

    valueOf() 以数值返回数值:

    var x = 123;
    x.valueOf();            // 从变量 x 返回 123
    (123).valueOf();        // 从文本 123 返回 123
    (100 + 23).valueOf();   // 从表达式 100 + 23 返回 123
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    在 JavaScript 中,数字可以是原始值(typeof = number)或对象(typeof = object)。

    在 JavaScript 内部使用 valueOf() 方法可将 Number 对象转换为原始值。

    没有理由在代码中使用它。

    所有 JavaScript 数据类型都有 valueOf()toString() 方法。

    23.1.6 把变量转换为数值

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

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

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

    23.1.7 全局方法

    JavaScript 全局方法可用于所有 JavaScript 数据类型。

    这些是在处理数字时最相关的方法:

    在这里插入图片描述

    23.1.8 Number() 方法

    Number() 可用于把 JavaScript 变量转换为数值:

    x = true;
    Number(x);        // 返回 1
    x = false;     
    Number(x);        // 返回 0
    x = new Date();
    Number(x);        // 返回 1404568027739
    x = "10"
    Number(x);        // 返回 10
    x = "10 20"
    Number(x);        // 返回 NaN
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    如果无法转换数字,则返回 NaN

    23.1.9 用于日期的 Number() 方法

    Number() 还可以把日期转换为数字:

    Number(new Date("2019-04-15"));    // 返回 1555286400000
    
    • 1

    在这里插入图片描述

    上面的 Number() 方法返回 1970 年 1 月 1 日至今的毫秒数。

    23.1.10 parseInt() 方法

    parseInt() 解析一段字符串并返回数值。允许空格。只返回首个数字:

    parseInt("10");         // 返回 10
    parseInt("10.33");      // 返回 10
    parseInt("10 20 30");   // 返回 10
    parseInt("10 years");   // 返回 10
    parseInt("years 10");   // 返回 NaN
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    如果无法转换为数值,则返回 NaN (Not a Number)。

    23.1.11 parseFloat() 方法

    parseFloat() 解析一段字符串并返回数值。允许空格。只返回首个数字:

    parseFloat("10");        // 返回 10
    parseFloat("10.33");     // 返回 10.33
    parseFloat("10 20 30");  // 返回 10
    parseFloat("10 years");  // 返回 10
    parseFloat("years 10");  // 返回 NaN
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    如果无法转换为数值,则返回 NaN (Not a Number)。

    23.2 数值属性

    在这里插入图片描述

    23.2.1 JavaScript MIN_VALUE 和 MAX_VALUE

    MAX_VALUE 返回 JavaScript 中可能的最大数字。

    var x = Number.MAX_VALUE;
    
    • 1

    在这里插入图片描述

    MIN_VALUE 返回 JavaScript 中可能的最小数字。

    var x = Number.MIN_VALUE;
    
    • 1

    在这里插入图片描述

    23.2.2 JavaScript POSITIVE_INFINITY
    var x = Number.POSITIVE_INFINITY;
    
    • 1

    在这里插入图片描述

    溢出时返回 POSITIVE_INFINITY

    var x = 1 / 0;
    
    • 1
    23.2.3 JavaScript NEGATIVE_INFINITY
    var x = Number.NEGATIVE_INFINITY;
    
    • 1

    在这里插入图片描述

    溢出时返回 NEGATIVE_INFINITY

    var x = -1 / 0;
    
    • 1
    23.2.4 JavaScript NaN - 非数字
    var x = Number.NaN;
    
    • 1

    在这里插入图片描述

    NaN 属于 JavaScript 保留字,指示数字并非合法的数字。

    尝试使用非数字字符串进行算术运算将导致 NaN(非数字):

    var x = 100 / "Apple";  // x 将是 NaN (Not a Number)
    
    • 1

    在这里插入图片描述

    23.2.5 数字属性不可用于变量

    数字属性属于名为 number 的 JavaScript 数字对象包装器。

    这些属性只能作为 Number.MAX_VALUE 访问。

    使用 myNumber.MAX_VALUE,其中 myNumber 是变量、表达式或值,将返回 undefined

    var x = 6;
    var y = x.MAX_VALUE;    // y 成为 undefined
    
    • 1
    • 2

    在这里插入图片描述

  • 相关阅读:
    422-计算机网络(7-13)
    LinkedList源码分享
    Sentinel源码解析-源码环境搭建
    第二章 指针仪表识别之仪表倾斜校正
    Nacos集群搭建
    代码随想录第52天 | 300.最长递增子序列 、 674. 最长连续递增序列 、 718. 最长重复子数组
    Digicert证书:您的网络安全守护神
    1.4_5 Axure RP 9 for mac 高保真原型图 - 案例4 【旋转的唱片2】计时器
    水库大坝实时安全监测特点分析
    第三章 常用Shell(Bash)命令
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/127582825