• JavaScript里处理数字的一些常用方法


    1.toString() 把字符串转换为数值。

    let num = 123;
    console.log(typeof(num)); //number
    console.log(typeof(num.toString())) //string
    • typeof() 判断数据类型

    2.toLocaleString() 方法可把一个 Number 对象转换为本地格式的字符串。

    LocaleString()会根据你机器的本地环境来返回字符串,它和toString()返回的值在不同的本地环境下使用的符号可能变化;

    var a = 6666;
    a.toLocaleString();
    // "6,666"
    a.toString();
    //"6666"
    var dt = new Date();
    console.log(dt.toLocaleString());
    //2019/9/11 下午4:46:04
    console.log(dt.toString());
    //Wed Sep 11 2019 16:46:04 GMT+0800

    3.toFixed() 返回字符串值,它包含了指定位数小数的数字。

    let num1 = 3.1415;
    console.log(num1.toFixed(0)); // 3
    console.log(num1.toFixed(1)); // 3.1
    console.log(num1.toFixed(2)); // 3.14
    console.log(num1.toFixed(5)); // 3.14150
    • toFixed(2) 非常适合处理金钱。

    4.Number() 可用于把 JavaScript 变量转换为数值。

    Number(true); // 1
    Number(false); //0 
    let x = new Date();
    console.log(Number(x)); // 1568186258917 时间戳  Number() 方法返回 1970 年 1 月 1 日至今的毫秒数
    console.log(Number(new Date("2019-09-11")));    // 1568186258917 时间戳 Number() 还可以把日期转换为数字:
    
    Number('12'); // 12  数字类型
    Number(11 22); // NaN 
    Number(undefined); //NaN 

    特殊情况 因为空字符串、null 和0都是false

    Number(null) ;//0;
    Number(''); //0;

    5.parseInt() 解析一段字符串,并返回一个整数。(取整)

    parseInt("10");         // 返回 10
    parseInt("10.33");      // 返回 10
    parseInt("10 20 30");   // 返回 10
    parseInt("10 years");   // 返回 10
    parseInt("years 10");   // 返回 NaN 如果无法转换为数值,则返回 NaN (Not a Number) 

    6.parseFloat()解析一个字符串,并返回一个浮点数。

    • parseFloat() 解析一段字符串并返回数值。允许空格。只返回首个数字
    • 如果无法转换为数值,则返回 NaN (Not a Numbe)
    parseFloat("10");        // 返回 10
    parseFloat("10.33");     // 返回 10.33
    parseFloat("10 20 30");  // 返回 10
    parseFloat("10 years");  // 返回 10
    parseFloat("years 10");  // 返回 NaN
    
    

    7. Math.min() 方法可返回两个指定的数中带有较小的值的那个数。

    Math.min(5,'7'); //5
    Math.min(5,'q'); //NaN 如果有某个参数为 NaN,或是不能转换成数字的非数字值,则返回 NaN

    8. Math.max() 方法可返回两个指定的数中带有较大的值的那个数。

    Math.max(5,'7'); //7
    Math.max(5,'q'); //NaN 如果有某个参数为 NaN,或是不能转换成数字的非数字值,则返回 NaN

    9.Math.abs() 方法可返回数的绝对值

    Math.abs(-7.25); // 7.25

    10.Math.ceil() 方法可对一个数进行上舍入

    • ceil() 方法执行的是向上取整计算,它返回的是大于或等于函数参数,并且与之最接近的整数。
    Math.ceil(0.60); //1
    Math.ceil(0.40); //1
    Math.ceil(-5.1); //5

    11.Math.floo() 方法可对一个数进行下舍入

    Math.floor(0.60); //0
    Math.floor(0.40); //0
    Math.floor(-5.1); //-6

    12.Number.isInteger() 用于判断其参数是为整数

    Number.isInteger(0);  // true
    Number.isInteger(0.1);  // false

    13.Number.parseFloat()和parseFloat()一样。

    14.Number.parseInt()和parseInt()一样。

    15.isNaN() 函数用于检查其参数是否是非数字值(和Number.isNaN()一样)

    无法使用 for/in 循环来枚举 NaN 属性,也不能用 delete 运算符来删除它。

    使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己。

    false的话 就是数字或者隐形数字类型

    isNaN(123); // false
    isNaN('123'); //false
    isNaN('cao'); //true
    isNaN('NaN');//true

     es6新增

    16.Math.trunc方法用于去除一个数的小数部分,返回整数部分。

    Math.trunc(4.1) // 4
    Math.trunc(4.9) // 4
    Math.trunc(-4.1) // -4
    Math.trunc(-4.9) // -4
    Math.trunc(NaN); // NaN
    Math.trunc('foo'); // NaN
    Math.trunc(); // NaN

    17.Math.sign方法用来判断一个数到底是正数、负数、还是零参数为正数,返回+1;

    • 参数为负数,返回-1;
    • 参数为正数,返回+1;
    • 参数为0,返回0;
    • 参数为-0,返回-0;
    • 其他值,返回NaN。
     Math.sign(-5) // -1
     Math.sign(5) // +1
     Math.sign(0) // +0
     Math.sign(-0) // -0
     Math.sign(NaN) // NaN
     Math.sign('foo'); // NaN
     Math.sign(); // NaN
  • 相关阅读:
    k8s 操作
    最大独立集!
    也许是二分
    P6624 [省选联考 2020 A 卷] 作业题
    USACO20 JAN&FEB P
    线性基
    SAM
    2 道用到同个贪心 trick 的题目
    C语言结构体字节对齐与Windows手动设置对齐#pragma pack
    【学习笔记】从Thread.start追踪Hotspot源码
  • 原文地址:https://www.cnblogs.com/imMeya/p/11506182.html
Copyright © 2020-2023  润新知