Number(),parseInt()和parseFloat
一、Number()
1.如果是传进去数字值,只进行传入和传出,前置为 0x 的数字 和 前置 为0且不包含数字8,9的数字 ,会被转为十进制,对于其他的数字来说通常没有变化。
2.如果传进去Boolean,true和false会被转成1和0。
3.传进去null或者undefined,会被转成0和NaN
4.对于传进去字符串:
a.如果字符串只包含数字,忽略前置的0,将其转换为 十进制 。
b.带小数点的字符串,忽略前置的0,将其转换为对相应的 浮点数。
c.十六进制的话,也会将其转换为十进制。如0xfff 会被转成4095.
d.字符串如果是空的,或者只含有空格的字符串,会被转成0.
e.如果字符串中含有非数字的字符,转成NaN。如 “10*10”算式也会转成NaN
5.传进去的函数,数组,集合等对象,会先按照之前的规则转换返回值,如果是NaN,则再调用对象的toString,然后在依照前面的规则转换返回的字符串。
1 //整数字符串或者带小数点字符串
2 document.write(Number("8944") + "<br>"); //8944
3 document.write(Number("89.44") + "<br>");//89.44
4 document.write(Number("10*10") + "<br>");//NaN
5 document.write(Number(0666) + "<br>");//NaN
6 //带字符的数字
7 document.write(Number("8944hh") + "<br>");//NaN
8 document.write(Number("hh8947") + "<br>");//NaN
9 //为空或者undefined
10 document.write(Number() + "<br>");//0
11 document.write(Number(undefined) + "<br>");//NaN
12 //前置0x
13 document.write(Number("0xfff") + "<br>");//4095
14 document.write(Number("06666") + "<br>");//6666
15 //前置一个或多个0
16 document.write(Number("08944") + "<br>");//8944
17 document.write(Number("00010101") + "<br>");//默认转成十进制
18 //布尔值
19 document.write(Number(true) + "<br>");
20 document.write(Number(false) + "<br>");
21 //对象或者函数
22 function num(){return '123456'};
23 document.write(Number(function(){}) + "<br>");//NaN
24 document.write(Number(num()) + "<br>");//123456
25 document.write(Number([1,2,3,4]) + "<br>");//NaN
26 document.write(Number({a:1,b:2,c:3}) + "<br>");//NaN
二、parseInt()
1.parseInt(numstring, [radix])函数用于把字符串转换为整数。参数radix可选,如果设置2-36之间的整数,则表示numstring的进制,转成对应的十进制数字。但是numstring的是否符合设定的进制规则,需要注意。
2.如果没有设置radix参数,则前置0x,0的数字会被当成十六进制和八进制。
3.parseInt 是可以解析字符串中带字符的数字的,默认 parseInt() 方法会从字符串的首字符开始分析,如果是有效数字,就继续分析下一个位置的数字,知道发现非有效数字为止(字母、小数点、其他符号等)。
4.parseInt 在转换浮点数的时候不是进行四舍五入,而是直接取小数点前面的整数。
5.parseInt 对数值表达式的转化,是先计算整数值。
6.对布尔值、空值、undefined等,parseInt返回值都是NaN。
7.传进去一个数组的时候,会返回数组中第一个的值,如果是NaN,然后在以字符串的形式进行转换。
//整数字符串或者带小数点字符串
document.write(parseInt("8944") + "<br>"); //
document.write(parseInt("89.44") + "<br>");//
document.write(parseInt("10*10") + "<br>");//
document.write(parseInt(0666) + "<br>");//
//带字符的数字
document.write(parseInt("8944hh") + "<br>");//
document.write(parseInt("hh8947") + "<br>");//NaN
//为空或者undefined、布尔值
document.write(parseInt(true) + "<br>");
document.write(parseInt(false) + "<br>");
document.write(parseInt() + "<br>");//NaN
document.write(parseInt(undefined) + "<br>");//NaN
//对象或者函数
function num(){return '123456'};
document.write(parseInt(function(){}) + "<br>");//NaN
document.write(parseInt(num()) + "<br>");//
document.write(parseInt(["11h",2,3,4]) + "<br>");//
document.write(parseInt({a:1,b:2,c:3}) + "<br>");//NaN
三、parseFloat
1.parseFloat(numstring)和parseInt类型,只是转成浮点数。
2.需要注意的是,在进行转换的的时候,只会解析遇到的第一个有效的小数点,后边遇到的小数点和字符会被当成无效字符,停止解析
3.在进行字符串解析的时候,parseFloat始终会忽略前置的0,如 "0xfff", 会被解析成0。
document.write(parseFloat("8944") + "<br>"); //
document.write(parseFloat("89.44") + "<br>");//89.44
document.write(parseFloat("89.44.44") + "<br>");//89.44
document.write(parseFloat(0666) + "<br>");//
document.write(parseFloat(0x10) + "<br>");//
document.write(parseFloat("0xfff") + "<br>");//0
| Number() | parseInt() | parseFloat |
| Number(false),结果为0 | parseInt(false),结果为NaN | parseFloat(false),结果为NaN |
| Number(true),结果为1 | parseInt(true),结果为NaN | parseFloat(true),结果为NaN |
| Number(null),结果为0 | parseInt(null),结果为NaN | parseFloat(null),结果为NaN |
| Number("1.1.1"),结果为NaN | parseInt("1.1.1"),结果为NaN | parseFloat("1.1.1"),结果为NaN |
| Number("123HELLO"),结果为NaN | parseInt("123HELLO"),结果为123 | parseFloat("123HELLO"),结果为123 |
Number(),parseInt()和parseFloat的更多相关文章
- JavaScript中Number(),parseInt()和parseFloat()区别
parseInt() 函数可解析一个字符串,并返回一个整数; parseFloat() 函数可解析一个字符串,并返回一个浮点数, 以上都是截取转换,具体代码如下: alert(parseInt(&qu ...
- JavaScript 中 Number()、parseInt()、parseFloat()的区别
Number(): 概述:Number 对象由 Number() 构造器创建,是经过封装的能让你处理数字值的对象.在非构造器上下文中 (如:没有 new 操作符),Number 能被用来执行类型转换. ...
- Number()、parseInt() 和 parseFloat() 的区别
一:Number() 如果是Boolean值,true和false值将分别被转换为1和0. 如果是数字值,只是简单的传入和返回. 如果是null值,返回0. 如果是undefined,返回NaN. 如 ...
- 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 ...
- Number()、parseInt()、parseFloat()的区别
最近在一个项目中遇到:需要在前台页面用javascript去处理很数值的计算. 各种用法都有,为了统一且保证处理方式正确,特地总结了一下相关的数值转换的用法: 作用: Number():可以用于任何数 ...
- Number()、parseInt()和parseFloat()的区别
JS中Number().parseInt()和parseFloat()的区别 三者的作用: Number(): 可以用于任何数据类型转换成数值: parseInt(): 函数可解析一个字符串,并返回一 ...
- js中Number()、parseInt()和parseFloat()的区别
一:Number() 如果是Boolean值,true和false值将分别被转换为1和0. 如果是数字值,只是简单的传入和返回. 如果是null值,返回0. 如果是undefined,返回NaN. 如 ...
- 详解JS中Number()、parseInt()和parseFloat()的区别
三者的作用: Number(): 可以用于任何数据类型转换成数值: parseInt().parseFloat(): 专门用于把字符串转换成数值: 一.Number( ): (1)如果是Boolean ...
随机推荐
- react-router分析 - 一、history
react-router基于history库,它是一个管理js应用session会话历史的js库.它将不同环境(浏览器,node等)的变量统一成了一个简易的API来管理历史堆栈.导航.确认跳转.以及s ...
- TCP为什么做三次握手、四次挥手
TCP 为什么做三次握手.四次挥手? TCP 是为了解决可靠传输出现的.为了实现可靠性,TCP 做了流量控制.拥塞控制,并且在建立.关闭连接前做些机制:三次握手.四次挥手. 三次握手是为了让客户端.服 ...
- SpringBoot中使用AOP打印接口日志的方法(转载)
前言 AOP 是 Aspect Oriented Program (面向切面)的编程的缩写.他是和面向对象编程相对的一个概念.在面向对象的编程中,我们倾向于采用封装.继承.多态等概念,将一个个的功能在 ...
- 使用MPI进行分布式内存编程(2)
MPI的英文全称为message passing interface,中文名为消息传递接口,他不是一种新的语言,而是一个可以被C,C++,Fortran程序调用的库. 预备知识 1.编译与执行 使用类 ...
- Java基础—封装
封装是面向对象的核心特征之一,它提供了一种信息隐藏技术.类的包装包含两层含义:一是将数据和对数据的操作组合起来构成类,类是一个不可分割的独立单位:二是类中既要提供与外部联系的接口,又要尽可能隐藏类的实 ...
- C#LeetCode刷题之#202-快乐数(Happy Number)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3856 访问. 编写一个算法来判断一个数是不是"快乐数& ...
- JavaScript promise基础示例
const { info } = console // cooking function cook() { info('[COOKING] start cooking.') const p = new ...
- Homekit_Dohome_智能灯带
简介:本款产品支持音乐律动控制,可以随音乐改换颜色及频率,可以使用Homekit或者Dohome或者遥控器进行有效控制,同时Dohome App已经对接了各大智能音箱,下载Dohome App后就可以 ...
- 攻防世界-web(进阶)-Training-WWW-Robots
进行后台扫描,发现一个robots.txt,进入之后说存在fl0g.php,进入即可得flag. cyberpeace{73279bc0d3c28ba6da4d1d3d530e7c16}
- Solon详解(一)- 快速入门
一.Solon 最近号称小而美的的Solon框架,终于得空,搞了一把,发觉Solon确实好用,那Solon到底是什么,又是怎么好用呢? 什么是Solon? Solon参考过Spring boot 和 ...