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的分页控件(C#)
Jan 06 Javascript
JavaScript编程中容易出BUG的几点小知识
Jan 31 Javascript
jQuery实现炫酷的鼠标轨迹特效
Feb 01 Javascript
javascript实现根据iphone屏幕方向调用不同样式表的方法
Jul 13 Javascript
jQuery平滑旋转幻灯片特效代码分享
Sep 07 Javascript
javascript基础语法学习笔记
Jan 04 Javascript
Listloading.js移动端上拉下拉刷新组件
Aug 04 Javascript
微信小程序 实现点击添加移除class
Jun 12 Javascript
vue实现长图垂直居上 vue实现短图垂直居中
Oct 18 Javascript
vue自定义指令实现方法详解
Feb 11 Javascript
Vue插件从封装到发布的完整步骤记录
Feb 28 Javascript
layui写后台表格思路和赋值用法详解
Nov 14 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在页面中调用fckeditor编辑器的方法
2011/06/10 PHP
PHP学习笔记(二):变量详解
2015/04/17 PHP
java微信开发之上传下载多媒体文件
2016/06/24 PHP
thinkPHP中U方法加密传递参数功能示例
2018/05/29 PHP
Javascript 复制数组实现代码
2009/11/26 Javascript
javascript 强制刷新页面的实现代码
2009/12/13 Javascript
LazyLoad 延迟加载(按需加载)
2010/05/31 Javascript
js 固定悬浮效果实现思路代码
2013/08/02 Javascript
通过onmouseover选项卡实现img图片的变化
2014/02/12 Javascript
jQuery绑定自定义事件的魔法升级版
2016/06/30 Javascript
Vue.js创建Calendar日历效果
2016/11/03 Javascript
js实现截图保存图片功能的代码示例
2017/02/16 Javascript
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
2017/06/28 jQuery
js统计页面上每个标签的数量实例代码
2018/05/29 Javascript
Node.js Stream ondata触发时机与顺序的探索
2019/03/08 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
使用Typescript和ES模块发布Node模块的方法
2020/05/25 Javascript
[06:35]2014DOTA2国际邀请赛 老男孩梦圆西雅图中国军团世界最强
2014/07/22 DOTA
使用PDB模式调试Python程序介绍
2015/04/05 Python
Django与遗留的数据库整合的方法指南
2015/07/24 Python
详解用python实现简单的遗传算法
2018/01/02 Python
Django实现学生管理系统
2019/02/26 Python
python命令行参数用法实例分析
2019/06/25 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
django框架forms组件用法实例详解
2019/12/10 Python
教师实习自我鉴定
2013/12/11 职场文书
《雪地里的小画家》教学反思
2014/02/22 职场文书
机关搬迁方案
2014/05/18 职场文书
学校端午节活动总结
2015/02/11 职场文书
小学庆六一主持词
2015/06/30 职场文书
2015年高校保卫处工作总结
2015/07/23 职场文书
观看《信仰》心得体会
2016/01/15 职场文书
导游词范文之颐和园/重庆/云台山
2019/09/10 职场文书
《分一些蚊子进来》读后感3篇
2020/01/09 职场文书
python实现图片批量压缩
2021/04/24 Python