ES6系列_5之数字操作

下面是针对ES6新增的一些数字操作方法进行简单梳理。

1.数字判断和转换

(1)数字验证Number.isFinite( xx )

使用Number.isFinite( )来进行数字验证,只要是数字,不论是浮点型还是整形都会返回true,其他时候会返回false。

let a= 11;
let b=11.0
console.log(Number.isFinite(a));//true
console.log(Number.isFinite(b));//true
console.log(Number.isFinite(‘aa‘));//false
console.log(Number.isFinite(NaN));//false
console.log(Number.isFinite(undefined));//false

(2)NaN验证

NaN是特殊的非数字,可以使用Number.isNaN()来进行验证。

console.log(Number.isNaN(NaN));

结果为:true。

(3)判断是否为整数Number.isInteger(xx)

let a=1.1;
let b=1;
console.log(Number.isInteger(a)); //false
console.log(Number.isInteger(b)); //true

(4)整数转换Number.parseInt(xxx)和浮点型转换Number.parseFloat(xxx)

let a=‘1.1‘;
console.log(Number.parseInt(a));//1
console.log(Number.parseFloat(a));//1.1

输出结果为:1,1.1。

(5)整数取值范围操作

整数的操作是有一个取值范围的,它的取值范围就是2的53次方。

let a = Math.pow(2,53)-1;
console.log(a); //9007199254740991

(6)最大安全整数

console.log(Number.MAX_SAFE_INTEGER);

结果为:9007199254740991

(7)最小安全整数

console.log(Number.MIN_SAFE_INTEGER);

结果为:-9007199254740991

(8)安全整数判断isSafeInteger( xx)

let a= Math.pow(2,53)-1;
console.log(Number.isSafeInteger(a));//true

打印结果为:true

let a= Math.pow(2,53);
console.log(Number.isSafeInteger(a));//false

打印结果为:false。

待续。。

原文地址:https://www.cnblogs.com/bfwbfw/p/10052944.html

时间: 2024-11-11 17:03:50

ES6系列_5之数字操作的相关文章

ES6系列_16之模块化操作

ES6的模块化操作主要包括两个方面. (1)export :负责进行模块化,也是模块的输出. (2)import : 负责把模块引,也是模块的引入操作. export的用法: export可以让我们把变量,函数,对象进行模块化,提供外部调用接口,让外部进行引用.先来看个最简单的例子,把一个变量模块化.我们新建一个demo.js文件,然后在文件中输出一个模块变量. export var a = '单个变量导出'; 然后可以在index.js中以import的形式引入. import {a} fro

ES6系列_5之字符串模版

1.字符串模板对比引入: (1).之前我们也可以使用JavaScript输出模版字符串,通常是下面这样的: var restult= "姓名: <b>"+person.name+"</b>" 但是我们可以看到:这样的传统做法需要使用大量的""(双引号)和 + 来拼接才能得到我们需要的模版.但是这样是十分不方便的. (2)于是ES6中提供了模版字符串,用`(反引号)标识,用${}将变量括起来.上面的例子可以用模版字符串写成下

ES6 系列之异步处理实战

前言 我们以查找指定目录下的最大文件为例,感受从 回调函数 -> Promise -> Generator -> Async 异步处理方式的改变. API 介绍 为了实现这个功能,我们需要用到几个 Nodejs 的 API,所以我们来简单介绍一下. fs.readdir readdir 方法用于读取目录,返回一个包含文件和目录的数组. fs.stat stat 方法的参数是一个文件或目录,它产生一个对象,该对象包含了该文件或目录的具体信息.此外,该对象还有一个 isFile() 方法可以

java大数字操作:BigInteger,BigDecimal(浮点型)

java大数字操作: BigInteger:大数字整型的 BigDecimal(浮点型):大数字小数的,也适用大的整数 BigInteger: String num1 = "100381828646148164"; String num2 = "10998979766868"; BigInteger big1 = new BigInteger(num1); BigInteger big2 =new BigInteger(num2); System.out.print

数字操作类Math,Random,BigInteger,BigDecimal

数字操作类 Math, 1.java.lang 类 Math public final class Mathextends Object Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. 从以下版本开始: JDK1.0 public static double random()                 System.out.println(Math.round(10.45));  //10 System.out.println(Math.round(10.

Cocos2d-x 系列六之数据操作

一.定时器  在cocos2d-x中, 类似定时器的操作,不需要额外的写Timer,实际上,在Node元素中,已经添加了定时执行的功能: 先来看看在Node中的定义 // ... bool Node::isScheduled(SEL_SCHEDULE selector) { return _scheduler->isScheduled(selector, this); } void Node::scheduleUpdate() { scheduleUpdateWithPriority(0); }

射频识别技术漫谈(22)——RC系列射频芯片的寄存器操作

前面提到,RC系列内部64个寄存器的正确操作是软件编写的关键.正确设置寄存器首先要做到与寄存器正确通信,其次是要对寄存器写入正确的值. RC系列射频芯片与微控制器的接口有并口和SPI接口两种类型.显然,并口通讯速度快,需要占用的微控制器I/O多,SPI通讯速度慢,但需要的微控制器I/O口少.这里需要特别说明的是,速度的快慢仅体现在控制单元与RC系类芯片本身的通讯速率上,而不影响芯片与标签或卡片的通讯速度,芯片与标签或卡片的通讯速度是由国际标准规定的,任何芯片都必须遵守国际标准. 并口方式下RC系

[js高手之路] es6系列教程 - 迭代器,生成器,for...of,entries,values,keys等详解

接着上文[js高手之路] es6系列教程 - 迭代器与生成器详解继续. 在es6中引入了一个新的循环结构for ....of, 主要是用来循环可迭代的对象,那么什么是可迭代的对象呢? 可迭代的对象一般都有Symbol.iterator属性,你可以在控制台中用console.dir打印数组,Map,Set,在他们的原型对象(prototype)上面就能找到.这个属性与迭代器密切相关,通过该函数可以返回一个迭代器,下文,我会举一个例子.一般来说所有的集合对象(数组,Set,Map 以及字符串)都是可

[ES6系列-04]再也不乱“哇”了:用 let 与 const 替代 var

[原创]码路工人 Coder-Power 大家好,这里是码路工人有力量,我是码路工人,你们是力量. github-pages 博客园cnblogs 今天的内容是,关于 JavaScript 中定义变量的变化(其实不确切,函数,常量表示被冷落). 首先,回顾下 var 定义存在的问题 1. 哇..var 好乱.. 1.1 可以重复定义 /* eg.0 * multi-definition of var-variable */ //----------------------------------