JavaScript数值转换的三种方式总结


Posted in Javascript onJuly 31, 2014

在JavaScript中,数值转换一般有三种方式:

一、Number(param)函数:param可以用于任何数据类型

1.1 param是Boolean值,true和false分别转换为1和0;

1.2 param是数值,只是简单的传入和返回

1.3 param是null和undefined,分别返回0和NaN

1.4 param是字符串,遵循下列规则:

1.4.1 如果字符串中只包含数字,则转换为十进制,前导0被忽略;

1.4.2 如果字符串中包含有效的浮点数格式,则返回对应的浮点数值,前导0被忽略;

1.4.3 如果字符串包含有效的十六进制,则返回等大的十进制数值

1.4.4 如果字符串为空,则返回0

1.4.5 如果字符串中包含除上述格式外的字符,则返回NaN

1.5 param是对象,则调用valueOf()方法,依照前面的规则转换返回字符串值,若返回NaN,则调用toString()方法,再次依照前面的规则转换返回字符串值。

1.6 示例:

<span style="font-family:Microsoft YaHei;font-size:18px;">var num1 = Number("hello"); //NaN 
var num2 = Number(""); //0 
var num3 = Number("00022"); //22 
var num4 = Number(true); //1</span>

二、parseInt(param):把字符串转换成整数,param是字符串类型。

parseInt()忽略字符串前面的空格,直到找到第一个非空格字符S;若S不是数字或者负号,则返回NaN(即parseInt()对空字符返回NaN,注意Number()对空返回0),若S是数字,parseInt()会继续解析下一个字符,直到解析完所有字符或者遇到了一个非数字字符。parseInt()支持对八进制、十六进制的解析

<span style="font-family:Microsoft YaHei;font-size:18px;">var num1 = parseInt("1234blue"); //1234 
var num2 = parseInt(""); //NaN 
var num3 = parseInt("22.5"); //22 
var num4 = parseInt("070"); //八进制,转换为十进制的56</span>

三、parseIFloat(param):把字符串转换成浮点数,param是字符串类型。

与parseInt类似,parseFloat()从第一个字符开始解析,直到解析完所有字符或者遇到了一个非浮点数字符。第一个小数点有效,但是第二个则无效,且该函数只能解析十进制数,因为它始终会忽略前导0.

<span style="font-family:Microsoft YaHei;font-size:18px;">var num1 = parseFloat("1234blue"); // 1234 
var num2 = parseFloat("0xf6"); // 0 
var num3 = parseFloat("22.5"); // 22.5 
var num4 = parseFloat("22.5.4"); //22.5 
var num5 = parseFloat("3.125e7"); // 31250000</span>
Javascript 相关文章推荐
Javascript 判断 object 的特定类转载
Feb 01 Javascript
杨氏矩阵查找的JS代码
Mar 21 Javascript
推荐4个原生javascript常用的函数
Jan 12 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
Mar 14 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
Jan 19 Javascript
jQuery实现的鼠标经过时变宽的效果(附demo源码)
Apr 28 Javascript
Linux CentOS系统下安装node.js与express的方法
Apr 01 Javascript
Javascript实现页面滚动时导航智能定位
May 06 Javascript
JS时间控制实现动态效果的实例讲解
Jul 31 Javascript
JavaScript中 ES6变量的结构赋值
Jul 10 Javascript
jQuery实现移动端笔触canvas电子签名
May 21 jQuery
Postman无法正常返回结果问题解决
Aug 28 Javascript
new Date()问题在ie8下面的处理方法
Jul 31 #Javascript
JS数组的遍历方式for循环与for...in
Jul 31 #Javascript
js中回调函数的学习笔记
Jul 31 #Javascript
基于socket.io和node.js搭建即时通信系统
Jul 30 #Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
Jul 30 #Javascript
JQuery实现表格动态增加行并对新行添加事件
Jul 30 #Javascript
jQuery修改CSS伪元素属性的方法
Jul 30 #Javascript
You might like
php关键字仅替换一次的实现函数
2015/10/29 PHP
PHP模板引擎Smarty中的保留变量用法分析
2016/04/11 PHP
Laravel中的Auth模块详解
2017/08/17 PHP
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
2014/12/08 Javascript
jQuery实现checkbox全选的方法
2015/06/10 Javascript
浅析js中substring和substr的方法
2015/11/09 Javascript
Bootstrap每天必学之附加导航(Affix)插件
2016/04/25 Javascript
JavaScript编程中实现对象封装特性的实例讲解
2016/06/24 Javascript
Angularjs 设置全局变量的方法总结
2016/10/20 Javascript
javascript设置文本框光标的方法实例小结
2016/11/04 Javascript
分析JS单线程异步io回调的特性
2017/12/01 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
2018/02/22 Javascript
Angular5中调用第三方库及jQuery的添加的方法
2018/06/07 jQuery
vue  自定义组件实现通讯录功能
2018/09/30 Javascript
express+vue+mongodb+session 实现注册登录功能
2018/12/06 Javascript
JS实现的字符串数组去重功能小结
2019/06/17 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
node 解析图片二维码的内容代码实例
2019/09/11 Javascript
微信小程序实现上拉加载功能示例【加载更多数据/触底加载/点击加载更多数据】
2020/05/29 Javascript
15个简单的JS编码标准让你的代码更整洁(小结)
2020/07/16 Javascript
python 为什么说eval要慎用
2019/03/26 Python
详解Python对JSON中的特殊类型进行Encoder
2019/07/15 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
Python logging日志模块 配置文件方式
2020/07/12 Python
canvas之自定义头像功能实现代码示例
2017/09/29 HTML / CSS
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
小米旗下精品生活电商平台:小米有品
2018/12/18 全球购物
优秀班集体获奖感言
2014/02/03 职场文书
《奇妙的国际互联网》 教学反思
2014/02/25 职场文书
开展批评与自我批评发言材料
2014/05/15 职场文书
会议欢迎标语
2014/06/30 职场文书
离婚财产分隔协议书
2014/10/23 职场文书
教师辞职书范文
2015/02/26 职场文书
安装配置mysql及Navicat prenium的详细流程
2021/06/10 MySQL
Python读写yaml文件
2022/03/20 Python