JS-数值转换
JS数值转换
JS数值转换的方式有4种:Number(),parseInt(),parseFloat(),数据类型*1或者/1。
他们的区别在于:
1.Number():可以将非数值转为数值
如果是Boolean值,true和flase将分别被转换为1和0
如果是数字,那么就是简单的传入和返回
如果是null值,那么返回0
如果是undefined,那么返回NaN
console.log(Number(true));// console.log(Number(false));// console.log(Number(10));// console.log(Number(null));// console.log(Number(undefined));//NaN
如果是字符串,那么又有如下的规则:
如果字符串只包含数字,则将其转为十进制,即”1”会变成1,”123”变成123, 而”011”会变为11 (注意这里不会被当成八进制来处理)
如果字符串中包含有效的十六进制格式,如”1.1”, 则将其转换为对应的浮点数值
如果字符串中包含有效的十六进制格式,例如"0xf", 则会将其转换为相同大小的十进制整数。
如果字符串是空的,则将其转换为0
如果字符串包含上述格式之外的字符,则将其转换为NaN
console.log(Number("1"));//
console.log(Number("012"));//
console.log(Number("0o10"));//
console.log(Number("0b111"));//
console.log(Number("3.14"));//3.14
console.log(Number("0xf"));//
console.log(Number(""));//
console.log(Number("123Hello"));//NaN
2.parselnt():也是将一个非数值转为数值
相比number0函数, parselnt0会更多的看是否有数字,有就会将其转换为数值。
最简单的例子为number(函数转换”123Hello"时会转换为NaN,而parselnt0则会将其转换为123。碰到空字符串时,number(函数会将其转换为0,而parselnt0则会将其转换为NaN。最后是在碰到小数时,会有一个取整的过程。例如”3.14”会 被转换为”3”
console.log(parseInt("1"));//
console.log(parseInt("012"));//
console.log(Number("0o10"));//
console.log(Number("0b111"));//
console.log(parseInt("3.14"));//
console.log(parseInt("0xf"));//
console.log(parseInt(""));//NaN
console.log(parseInt("123Hello"));//
3.parseFloat():将非数值转为浮点数
parseFloat0只解析十进制值,所以没有第二个参数,该函数会将带有小数点的字符串转换为小数。如果没有小数点的数会被转换为整数。同样的parseFloat()也是尽 可能转换更多的数值,
console.log(parseFloat("21"));//
console.log(parseFloat("123Hello"));//
console.log(parseFloat("0xA"));//
console.log(parseFloat("3.14"));//3.14
console.log(parseFloat("22.34.5"));//22.34 console.log(parseFloat("0908.34"));//908.34 console.log(parseFloat("3.1415e2"));//314.15
4.数据类型*1或者/1
JS-数值转换的更多相关文章
- js数值转换
先来几个题吧: var num1 = Number("123blue");var num2 = Number("");var num3 = Number([]) ...
- JS 数值转换、加减乘除
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 小tips:JS数值之间的转换,JS中最大的Number是多少?,JS == 与 === 的区别
JS数值之间的转换 Number(), parseInt(),parseFloat() Number()函数的转换规则如下: 1.如果boolean值,true和false将分别被转换为1和02.如果 ...
- Javascript数值转换(string,int,json)
数值: 在JavaScript中,数值转换一般有三种方式: 一.Number(param)函数:param可以用于任何数据类型 1.1 param是Boolean值,true和false分别转换为1和 ...
- javascript的数值转换
在javascript中数值转换,最要的一点是函数第一个字母必须要大写.js中的函数有string字符型.number数值型.null空型.boolean布尔型.undefined未定义. 具体的转换 ...
- 【前端】深入浅出Javascript中的数值转换
由于Javascript是一门弱类型的语言,在我们的代码中无时无刻不在发生着类型转换,所以了解Javascript中的类型转换对于了解我们认识Javascript的运行原理至关重要. 本文主要从数值转 ...
- Js强制转换
Js强制转换 ParseInt(a,b):整型 只能放字符串,b为基数.声明前面的数是几进制.因为只能放字符串,所以无论放什么都转换为字符串: 如果String以0x开头则为16进制的整数: ‘036 ...
- Js 日期转换函数(UTC时间转换及日期想加减)
IOS上Js日期转换中new Date("yyyy-mm-dd")不能正常工作,必须使用new Date("yyyy/MM/dd"); 日期相加减: Date. ...
- JavaScript数值转换总结
在JavaScript中,数值转换一般有三种方式: 一.Number(param)函数:param可以用于任何数据类型 1.1 param是Boolean值,true和false分别转换为1和0: ...
- JavaScript进阶(四)js字符串转换成数字的三种方法
js字符串转换成数字的三种方法 在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b. ...
随机推荐
- Hibernate3核心API-Session接口
Session是应用程序与数据库之间交互操作的一个单线程对象,是 Hibernate 运作的中心,所有持久化对象必须在 session 的管理下才可以进行持久化操作.此对象的生命周期很短.Sessio ...
- 【转】APIJSON,让接口见鬼去吧!
我: APIJSON,让接口和文档见鬼去吧! https://github.com/TommyLemon/APIJSON 服务端: 什么鬼? 客户端: APIJSON是啥? 我: APIJSON是一种 ...
- 005-文件权限解说、授权chmod和chown命令的用法
一.文件权限说明 1.1.linux 中 drwxr-xr-x权限含义 在 linux drwxr-xr-x意思如下: 第一位表示文件类型.d是目录文件,l是链接文件,-是普通文件,p是管道. 后面的 ...
- swoole详解
1.swoole结构图 2.swoole流程图 3.详细流程图 3.1.Master:处理核心事件驱动(主进程)3.2.Reactor: 处理TCP连接,收发数据的线程.Swoole的主线程在Acce ...
- MySQL数据库的库表迁移
最近在研究MySQL数据库的库表迁移问题,主要分为两种情况,一种情况是迁移数据库的表的全部字段,另一种是迁移数据库的表的部分字段.前一种情况是直接使用mysqldump命令来实现,后一种情况则是采用数 ...
- CISC和RISC的区别
转载于http://blog.sina.com.cn/s/blog_9d5430ce0100x5pb.html RISC(Reduced Instruction Set Computer)和CISC( ...
- javaweb期末项目-stage1-part1-需求分析(Requirements analysis)
需求分析文档.rar-下载 说明:解压密码为袁老师的全名拼音(全小写) 相关链接: 项目结构:https://www.cnblogs.com/formyfish/p/10828672.html 需求分 ...
- 【并行计算-CUDA开发】CUDA shared memory bank 冲突
CUDA SHARED MEMORY shared memory在之前的博文有些介绍,这部分会专门讲解其内容.在global Memory部分,数据对齐和连续是很重要的话题,当使用L1的时候,对齐问题 ...
- CSS实现网页背景图片自适应全屏,自适应背景图片
一张清晰漂亮的背景图片能给网页加分不少,设计师也经常会给页面的背景使用大图,我们既不想图片因为不同分辨率图片变形,也不希望当在大屏的情况下,背景有一块露白,简而言之,就是实现能自适应屏幕大小又不会变形 ...
- pubwin扫描安装
1,注意顺序 先安装一代 FS533 2,在安装精伦 3,在重新注册 PUBWIN 如果还不行一般是注册商没给注册好