zoukankan      html  css  js  c++  java
  • ES6-数字操作,判断是否是整数,判断最大值最小值

    • S中只有一种类型数,即64位(1bit 的符号位,11bits 的指数部分 ,以及52bits 的小数部分)双精度浮点数,当整数数值过大时,就会发生精度丢失。
    • 所谓安全整数即能够唯一确定的数字,即能够使用64位二进制数唯一确定的整数。考虑253,转换成对应表示方式后其小数部分总共包括53位,发生了精度丢失,所以在JS中无法区别253与2^53+1;
    • 安全整数与JS是否能够正确进行运算关系密切,当运算数与运算结果都处于安全整数的范围内时,才能保证JS运算结果正确。

    ES6之数字操作

    // 声明一个二进制 (Binary)
    let binary = 0B010101;
    document.write(binary) //21
    
    // 声明八进制 Octal
    let octal = 0o666;
    document.write(octal)  //438
    
    let a = 11/4;
    //es6数字的判断都放在了Number中
    // isFinite() 函数用来判断被传入的参数值是否为一个有限数值(finite number)
    // 整数浮点型都为true
    console.log(Number.isFinite(a)); //true 
    console.log(Number.isFinite('ananiah')); //false
    console.log(Number.isFinite(NaN)); //false
    console.log(Number.isFinite(undefined)); //false
    
    //NaN
    console.log(Number.isFinite(1))
    
    // 判断是否是整数 isInteger
    let anania = 123.1;
    console.log(Number.isInteger(anania)) //false  
    console.log(Number.parseInt(anania)) //123  
    console.log(Number.parseFloat(anania)) //123.1
    
    //2 的53次方是最大值 最大值减一为计算机安全值
    let ananiah = Math.pow(2,53)-1;
    //最小值
    let minananiah = -Math.pow(2,53)-1;
    console.log(ananiah) //9007199254740991
    console.log(minananiah) //-9007199254740992
    console.log(Number.MAX_SAFE_INTEGER)  //9007199254740991 最大值
    console.log(Number.MIN_SAFE_INTEGER) //-9007199254740991 最小值
    console.log(Number.isSafeInteger(ananiah)) // true 判断是否是安全整数
  • 相关阅读:
    Java 中的传值与传引用
    UML中的类图及类图之间的关系
    [转]多线程下单例模式惰性加载
    中缀表达式转后缀表达式,Java实现
    自用Intellij IDEA设置
    [转]JavaScript将MyBatis打印的日志转化为可执行sql
    SpringBoot利用poi导出excel下载
    详解 HiveUDF 函数
    最全的 Java 知识总结- Github 日增 10 star
    最好用的 Kafka Json Logger Java客户端,赶紧尝试一下
  • 原文地址:https://www.cnblogs.com/Ananiah/p/11069063.html
Copyright © 2011-2022 走看看