欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ES6-数字操作,判断是否是整数,判断最大值最小值

程序员文章站 2022-04-29 18:05:16
S中只有一种类型数,即64位(1bit 的符号位,11bits 的指数部分 ,以及52bits 的小数部分)双精度浮点数,当整数数值过大时,就会发生精度丢失。 所谓安全整数即能够唯一确定的数字,即能够使用64位二进制数唯一确定的整数。考虑253,转换成对应表示方式后其小数部分总共包括53位,发生了精 ......
  • 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 判断是否是安全整数