parseInt parseFloat isNaN Number 区别和具体的转换规则及用法
<script>
console.log(typeof 100);//"number"
console.log(typeof 199.99);// "number"
console.log(typeof NaN);// "number"
console.log(typeof 1 + 1); // "number"
console.log(typeof 1 + undefined); // "number"
console.log(typeof 1 + null); // "number"
console.log(typeof 1 + ""); // "string"
</script>
//通过下面的转换我们来寻找规则
//string 字符串
console.log(Number("100")); //
console.log(Number("100px")); //NaN
console.log(Number("p100")); //NaN
console.log(Number("p100p")); //NaN
console.log(Number("")); //0
console.log(Number("0")); //
console.log(Number(" ")); //
//总结只要是纯number字符或者空字符串(""或" ")会转成 0
//boolean 布尔
console.log(Number(true)); //
console.log(Number(false)); //
//null undefined
console.log(Number(null)); //0
console.log(Number(undefined)); //NaN
// 对象
console.log(Number([])); //0 先调用[].toString() 方法得出 "" "" 转换会为0
console.log(Number([1,3,56])); //NaN 先调用[].toString() 方法得出"1,3,56"
//NaN 先调用[].toString() 方法得出"[object Object]"
console.log(Number({}));
console.log(Number({name:"vilin", age:18})); //NaN
//string 字符串
console.log(isNaN("100")); //false
console.log(isNaN("100px")); //true
console.log(isNaN("p100")); //true
console.log(isNaN("px100p")); //true
console.log(isNaN("")); //false
console.log(isNaN("0")); //false
console.log(isNaN(" ")); //false
//boolean 布尔型
console.log(isNaN(true)); //false
console.log(isNaN(false)); //false
//null undefined
console.log(isNaN(null)); //false
console.log(isNaN(undefined)); //true
//对象
console.log(isNaN([])); //false
console.log(isNaN([2,3])); //true
console.log(isNaN({})); //true
console.log(isNaN({name:"vilin",age:19})); //true
console.log(parseInt("100")); //
console.log(parseInt("100px")); //
console.log(parseInt("156.444px")); //
console.log(parseInt("p100")); //NaN
console.log(parseInt("p100p")); //NaN
console.log(parseInt("")); //NaN
console.log(parseInt("0")); //
console.log(parseInt(" ")); //NaN
console.log(parseFloat("100")); //
console.log(parseFloat("100px")); //
console.log(parseFloat("156.444px")); //156.444
console.log(parseFloat("p100")); //NaN
console.log(parseFloat("p100p")); //NaN
console.log(parseFloat("")); //NaN
console.log(parseFloat("0")); //
console.log(parseFloat(" ")); //NaN
var num = 1300;
var num1 = 1456.897;
console.log(num.toFixed(2)); //1300.00
console.log(100.toFixed(1)) //报错 无法识别该点的是指的小数点还是...
console.log(num1.toFixed(2)); //1456.90
parseInt parseFloat isNaN Number 区别和具体的转换规则及用法的更多相关文章
- Number(),parseInt(),parseFloat(),Math.round(),Math.floor(),Math.ceil()对比横评
首先,这些处理方法可分为三类. 1,只用来处理数字取整问题的:Math.round(),Math.floor(),Math.ceil(): 2,专门用于把字符串转化成数值:parseInt(),par ...
- isNaN与parseInt/parseFloat
isNaN 返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字). NaN 即 Not a Number isNaN(numValue) 必选项 numvalue 参数为要检查 ...
- parseint和parsefloat总结number。隐形转换
parseint:会认识一些字符+.-.空格,其他的就会截止譬如23hudhchauch结果为:23,对于boollen类型不能转换为1或是0. number:是对整体的转换.对true的转换为1. ...
- Number,parseInt,parseFloat函数
Number,parseInt,parseFloat函数 console.group('Number'); console.log(Number( console.log(Number( consol ...
- parseFloat 和 Number isNaN 转换
parseFloat(true) // NaN Number( parseFloat(null) // NaN Number( parseFloat('') // NaN Number('') par ...
- js字符转换成整型 parseInt()函数规程Number()函数
今天在做一个js加法的时候,忘记将字符转换成整型,导致将加号认为是连接符, 在运算前要先对字符井行类型转换,使用parseInt()函数 使用Number()将字符转换成int型效果更好
- js中的NaN,isNaN与Number.isNaN的区别,如何判断一个值严格等于NaN
在JavaScript的数字类型Number中,我们最常使用的大概是整数类型与浮点数类型,但除这两者外,还有个特殊的存在NaN,为什么NaN!==NaN?我们如何判断一个值是否等于NaN呢?这篇文章好 ...
- js parseInt();parseFloat;Number()
1: parseInt( numString [, radix ] ) [测试浏览器:chromium && firefox] ①parseInt()函数用于将字符串转换为(十进制) ...
- parseInt()、parseFloat()与Number()的比较
我有一个同学最近在自学JavaScript,偶尔遇到问题了会让我帮忙解决,虽然我也是一个JavaScript菜鸟,但是我还是很乐意帮忙,这样不仅可以帮到别人,也可以让自己在解决问题的过程中学到更多知识 ...
随机推荐
- 关于@JsonFormat(出参格式化)和@DateTimeFormat(入参格式化)
背景: 从数据库查询获取数据时候 返回的json数据 日期会出现一串数字或者其他形式 和我们期待的不一样 如下图: 一开始使用@DateTimeFormat注解 但是输出结果和没有使用返回的jso ...
- Linux系列(13)之程序与服务的概念
知道如何区分程序与进程吗? 知道如何产生进程吗? 知道进程之间的相关性吗? 知道进程调用的流程吗? 知道进程与服务的区别吗? 1.程序与进程的区别 bash就是一个程序,当我们登录之后系统就会给我们分 ...
- 20190804-Python基础 第一章
学习爬虫的同时,补充学习更多Python的基础知识,才能让所学更加扎实. 至今,所学的很多东西,基础都不牢固,导致这些所学都是浅尝则止的皮毛,不能真正上战场,故借速成之心,踏实打牢基础,举一反三,以求 ...
- 实现文件上下文管理(__enter__和___exit__)
实现文件上下文管理(__enter__和__exit__) 我们知道在操作文件对象的时候可以这么写 with open('a.txt') as f: '代码块' 上述叫做上下文管理协议,即with语句 ...
- S02_CH16 等精度频率计实验
S02_CH16 等精度频率计实验 在了解了AXI总线之后,今天我们自己动手设计一个带AXI4-Lite总线的IP,来完成频率计的实验. 频率计虽然小,但是也算五脏俱全,涉及到zynq的方方面面,比如 ...
- Codeforces 1097D. Makoto and a Blackboard
传送门 首先考虑如果 $n$ 只有一个质因数的情况,即 $n=p^t$ 那么显然可以 $dp$ ,设 $f[i][j]$ 表示第 $i$ 步,当前剩下 $p^j$ 的概率 那么转移很简单: $f[i] ...
- java中锁的应用
锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized(重量级) 和 ReentrantLock(轻量级)等等 ) .这些已经写好提供的锁为我们开发提供了便利. ...
- volatile 关键字(修饰变量)
目录 volatile 关键字(修饰变量) 1. 含义 2. 作用 3. 如何保证可见性 4. 如何禁止指令重排序优化 5. volatile 是不安全的 6. volatile 不适用场景 vola ...
- MVC部分视图的使用(Html.Partial/RenderPartial、Html.Action/RenderAction、RenderPage)
ASP.NET MVC 里页面往往会有许多重用的地方,可以进行封装重用. 使用部分视图有以下优点: 1. 可以简写代码. 2. 页面代码更加清晰.更好维护. 在视图里有多种方法可以 加载部分视图,包括 ...
- 华为机试题:仿LISP
package com.nowcoder.huawei; import java.util.*; public class LISP { // 只通过80% // (+ (* 2 3) (^ 4)) ...