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 相关文章推荐
JQuery AJAX实现目录浏览与编辑的代码
Oct 21 Javascript
Js中获取frames中的元素示例代码
Jul 30 Javascript
通过js简单实现将一个文本内容转译成加密文本
Oct 22 Javascript
javascript处理表单示例(javascript提交表单)
Apr 28 Javascript
JavaScript控制网页平滑滚动到指定元素位置的方法
Apr 17 Javascript
bootstrap栅格系统示例代码分享
May 22 Javascript
Angular2 组件间通过@Input @Output通讯示例
Aug 24 Javascript
Vue结合Video.js播放m3u8视频流的方法示例
May 04 Javascript
深入理解js 中async 函数的含义和用法
May 13 Javascript
Vue的H5页面唤起支付宝支付功能
Apr 18 Javascript
Vue项目实现简单的权限控制管理功能
Jul 17 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
Sep 10 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之第二天
2006/10/09 PHP
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
2009/05/28 PHP
php面向对象全攻略 (五) 封装性
2009/09/30 PHP
PHPExcel读取Excel文件的实现代码
2011/12/06 PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
2015/08/18 PHP
Phpstorm+Xdebug断点调试PHP的方法
2018/05/14 PHP
微信小程序发送订阅消息的方法(php 为例)
2019/10/30 PHP
ThinkPHP5&amp;5.1实现验证码的生成、使用及点击刷新功能示例
2020/02/07 PHP
js压缩利器
2007/02/20 Javascript
javascript结合ajax读取txt文件内容
2014/12/05 Javascript
Javascript中的Callback方法浅析
2015/03/15 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
2016/03/29 Javascript
利用jQuery实现一个简单的表格上下翻页效果
2017/03/14 Javascript
深入理解vue $refs的基本用法
2017/07/13 Javascript
node koa2实现上传图片并且同步上传到七牛云存储
2017/07/31 Javascript
Vue 仿QQ左滑删除组件功能
2018/03/12 Javascript
详解vue通过NGINX部署在子目录或者二级目录实践
2018/09/03 Javascript
JS实现打砖块游戏
2020/02/14 Javascript
JavaScript字符和ASCII实现互相转换
2020/06/03 Javascript
JS猜数字游戏实例讲解
2020/06/30 Javascript
浅谈实现在线预览PDF的几种解决办法
2020/08/10 Javascript
[55:54]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[48:11]完美世界DOTA2联赛 Magma vs GXR 第二场 11.07
2020/11/10 DOTA
pymongo实现控制mongodb中数字字段做加法的方法
2015/03/26 Python
Python实现查找匹配项作处理后再替换回去的方法
2017/06/10 Python
Python实现的生产者、消费者问题完整实例
2018/05/30 Python
python利用os模块编写文件复制功能——copy()函数用法
2020/07/13 Python
HTML5时代CSS设置漂亮字体取代图片
2014/09/04 HTML / CSS
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
2016/08/15 面试题
校长先进事迹材料
2014/02/01 职场文书
2014年五一活动策划方案
2014/03/15 职场文书
担保书格式及范文
2014/04/01 职场文书
捐助倡议书范文
2014/04/15 职场文书
2014年销售部工作总结
2014/12/01 职场文书
心得体会格式及范文
2016/01/25 职场文书