isNaN() 定义和用法

isNaN() 函数用于检查其参数是否是非数字值。

isNaN(x) x 是特殊的非数字值 NaN(或者能被转换为这样的值)
console.log(isNaN(NaN));//true 
console.log(isNaN("0"));//false
console.log(isNaN(0));//false
console.log(isNaN("Hello"));//true
console.log(isNaN("2005/12/12"));//true
console.log(isNaN(1));//false
console.log(isNaN(123));//false
console.log(isNaN(-1.23));//false
console.log(isNaN(5-2));//false
console.log(Number('0'));

针对isNaN('0')和isNaN(0)结果一致,因为x是特殊的非数字值 NaN(或者能被转换为这样的值),Number('0')=0,所以isNaN("0")不能简单理解为字符串,所以isNaN("0")为false

typeof NaN为number

parseFloat() 定义和用法

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

该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。

parseFloat 是全局函数,不属于任何对象。

parseFloat 将它的字符串参数解析成为浮点数并返回。如果在解析过程中遇到了正负号(+ 或 -)、数字 (0-9)、小数点,或者科学记数法中的指数(e 或 E)以外的字符,则它会忽略该字符以及之后的所有字符,返回当前已经解析到的浮点数。同时参数字符串首位的空白符会被忽略。

如果参数字符串的第一个字符不能被解析成为数字,则 parseFloat 返回 NaN。

提示:您可以通过调用 isNaN 函数来判断 parseFloat 的返回结果是否是 NaN。如果让 NaN 作为了任意数学运算的操作数,则运算结果必定也是 NaN。

提示和注释

注释:开头和结尾的空格是允许的。

提示:如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。

提示:如果只想解析数字的整数部分,请使用 parseInt() 方法。

console.log(parseFloat("c0.23a58"));//NaN
console.log(parseFloat("0.00"));//0
console.log(parseFloat("0"));//0
console.log(parseFloat(" 0 "));//0
console.log(parseFloat("10")) //10
console.log(parseFloat("10.00")) //10
console.log(parseFloat("10.33")) //10.33
console.log(parseFloat("34 45 66")) //34
console.log(parseFloat(" 60 ")) //60
console.log(parseFloat("40 years"))//40
console.log(parseFloat("He was 40"))//NaN

parseInt() 定义和用法

parseInt() 函数可解析一个字符串,并返回一个整数。

语法

parseInt(string, radix)
参数 描述
string 必需。要被解析的字符串。
radix

可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。

如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。

如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

返回值

返回解析后的数字。

说明

当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。

举例,如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。

提示和注释

注释:只有字符串中的第一个数字会被返回。

注释:开头和结尾的空格是允许的。

提示:如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。

console.log(parseInt('1.56986')); //1
console.log(parseInt("10")); //返回 10
console.log(parseInt("11")); //返回 11
console.log(parseInt("19",10)); //返回 19 (10+9)
console.log(parseInt("11",2)); //返回 3 (2+1)
console.log(parseInt("17",8)); //返回 15 (8+7)
console.log(parseInt("1f",16)); //返回 31 (16+15)
console.log(parseInt("010")); //返回 10
console.log(parseInt("abc")); //返回 NaN

 number数据类型的处理

    console.log(Math.random()) //返回0-1之间的随机数
var b = -1.2356;
console.log(Math.abs(b))//返回绝对值
console.log(Math.ceil(0.2))// 1 向上取整
console.log(Math.floor(2.6))// 2 向下取整
var dd = Math.floor(2.6)
console.log(Math.valueOf(dd)) //返回Math对象的原始值
console.log(Math.min(2,5,8,9,6,14,55,635,856,1,0,6)) //0 取最大值
console.log(Math.max(2,5,8,9,6,14,55,635,856,1,6)) // 856 取最小值
console.log(parseInt(Math.random()*100)) //取整数(小数不做处理)
    //保留两位小数
    NumberObject.toFixed(num) num:必须。规定小数的位数,是0·20之间的值,包括0·20 (且保留的小数是四舍五入)
    var num=123.56389;
    console.log(num.toFixed(2)) //123.56
   console.log(num.toFixed(1)) //123.6
    有时会有这样的需求,需要把input输入的数字,默认加两位小数,此时就可以用toFixed函数,但是,input就算规定input的type为number
    得到的内容,还是string类型,所以还是要先Number强转一下。此时可以得到两位小数的数字,然后再把得到的数字,
    重新赋值给input的value值,那么,现在这时候,无论显示的还是得到的都是经过处理的数字了。

    

    <input type="number" id='inp' />
<script type="text/javascript">
window.onload=function(){
var inp_=document.getElementById('inp');
inp_.addEventListener('blur',function(){var a= Number(inp_.value).toFixed(2);
inp_.value=a;
})
}</script>

函数isNaN() parseFloat() parseInt() Math对象的更多相关文章

  1. js中的函数,Date对象,Math对象和数组对象

    函数就是完成某个功能的一组语句,js中的函数由关键字 function + 函数名 + 一组参数定义;函数在定义后可以被重复调用,通常将常用的功能写成一个函数,利用函数可以使代码的组织结构更多清晰. ...

  2. codewars--js--Human Readable Time—Math对象,parseInt()

    问题描述: Write a function, which takes a non-negative integer (seconds) as input and returns the time i ...

  3. isNaN与parseInt/parseFloat

    isNaN 返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字). NaN 即 Not a Number isNaN(numValue) 必选项 numvalue 参数为要检查 ...

  4. JavaScript 函数,math对象,Date对象 序列化 总结

    函数 函数定义 // 普通函数定义 function f1() { console.log("Hello world!"); } // 带参数的函数 function f2(a, ...

  5. JS Math对象、日期对象、函数、定时器

    Math对象 开平方:sqrt 绝对值:abs π:PI x的y次方:pow 四舍五入取整:round 向下取整:floor 向上取整:ceil 最大值:max 最小值: min 随机数:random ...

  6. js匿名函数和date对象,math对象

    匿名函数: <script type="text/javascript"> function (参数列表){ 要执行的语句块; } </script> 对象 ...

  7. ES6—数值(Number,Math对象)(复习+学习)

    ES6-数值(Number,Math对象)(复习+学习) 每天一学,今天要学习ES6的关于数的扩展以及复习,然后通过看书,查阅资料,以及webAPI来搞清楚遇到的,没见过的对象方法等等,下面为本次学习 ...

  8. 初识 Javascript.02 -- Date日期、Math对象、数据类型转换、字符串、布尔Boolean、逻辑运算符、if else 、三元表达式、代码调试方法、

    Date()对象: Date对象用于处理日期和时间. 1.1 Math对象  ◆Math.ceil()   天花板函数    向上取整  只取整数,不足则进1 ◆Math.floor()  地板函数 ...

  9. #9.6课堂JS总结#变量作用域 date()对象 math()对象

    一.变量的作用域 1.JavaScript的作用域链 首先看下下面这段代码: <script type="text/javascript"> var rain = 1; ...

随机推荐

  1. 禁止 pdf 下载、打印的方法

    https://blog.csdn.net/For_GG/article/details/78616063 https://blog.csdn.net/xiangcns/article/details ...

  2. (转)css3实现load效果

    本文转自:https://www.cnblogs.com/jr1993/p/4625628.html 谢谢作者 注:gif图片动画有些卡顿,非实际效果! 第一种效果: 代码如下: <div cl ...

  3. [leetcode]5. Longest Palindromic Substring最长回文子串

    Given a string s, find the longest palindromic substring in s. You may assume that the maximum lengt ...

  4. [leetcode]34.Find First and Last Position of Element in Sorted Array找区间

    Given an array of integers nums sorted in ascending order, find the starting and ending position of ...

  5. vue 总结

    VUE总结 双花括号{{}} 01.index.hmlt main.js 内存的数据可以更改 v-model 双休数据绑定 代码: <!DOCTYPE html> <html lan ...

  6. React-router4 第五篇 Preventing Transitions 防止转换

    文档地址:https://reacttraining.com/react-router/web/example/preventing-transitions 大概意思就是说:我在这个页面上写东西呢?不 ...

  7. kafka可视化客户端工具(Kafka Tool)的基本使用

    1.下载 下载地址:http://www.kafkatool.com/download.html 2.安装 根据不同的系统下载对应的版本,我这里kafka版本是1.1.0,下载kafka tool 2 ...

  8. spring mvc+mybatis 构建 cms + 实现UC浏览器文章功能

    最近公司在模拟UC浏览器做一个简单的cms系统,主要针对于企业内部的文章浏览需求,这边考虑用户大多用mobile浏览文章内容,故使用原生的ios和android进行开发,后面也会集成html5. 1. ...

  9. 设计模式之桥接模式 c++11

    参考http://blog.csdn.net/calmreason/article/details/50909321 桥接模式 实现与抽象之间由指针关联 调用sample类 实际是调用sample类保 ...

  10. activeMq-2 高可用以及集群搭建

    Activemq 的集群方法可以有多种实现方式,我们这里使用zookeeper来实现 要搭建集群,请确保已经搭建好zookeeper环境.这里不再演示. 基本原理: 使用ZooKeeper(集群)注册 ...