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 相关文章推荐
JS this作用域以及GET传输值过长的问题解决方法
Aug 06 Javascript
jquery中加载图片自适应大小主要实现代码
Aug 23 Javascript
javascript 实现键盘上下左右功能的小例子
Sep 15 Javascript
jQuery实现视频作为全屏幕背景
Dec 18 Javascript
jQuery实现行文字链接提示效果的方法
Mar 10 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
Dec 07 Javascript
jQuery实现别踩白块儿网页版小游戏
Jan 18 Javascript
React-native桥接Android原生开发详解
Jan 17 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
May 03 Javascript
Node 代理访问的实现
Sep 19 Javascript
前端开发之便利店收银系统代码
Dec 27 Javascript
JS实现网站吸顶条
Jan 08 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/03/20 PHP
php桥接模式应用案例分析
2019/10/23 PHP
PHP 99乘法表的几种实现代码
2020/10/13 PHP
解析arp病毒背后利用的Javascript技术附解密方法
2007/08/06 Javascript
Jquery公告滚动+AJAX后台得到数据
2011/04/14 Javascript
Moment.js 不容错过的超棒Javascript日期处理类库
2012/04/15 Javascript
Ajax同步与异步传输的示例代码
2013/11/21 Javascript
jquery实现最简单的滑动菜单效果代码
2015/09/12 Javascript
Jquery promise实现一张一张加载图片
2015/11/13 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
js实现用户输入的小写字母自动转大写字母的方法
2017/01/21 Javascript
基于Vue的ajax公共方法(详解)
2018/01/20 Javascript
js中getBoundingClientRect的作用及兼容方案详解
2018/02/01 Javascript
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
layui监听select变化,以及设置radio选中的方法
2019/09/24 Javascript
原生js+ajax分页组件
2020/01/30 Javascript
解决ant design vue中树形控件defaultExpandAll设置无效的问题
2020/10/26 Javascript
python迭代器与生成器详解
2016/03/10 Python
详解Python中类的定义与使用
2017/04/11 Python
Python3+Pycharm+PyQt5环境搭建步骤图文详解
2019/05/29 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
2020/05/11 Python
pytorch 限制GPU使用效率详解(计算效率)
2020/06/27 Python
Python sublime安装及配置过程详解
2020/06/29 Python
html5的canvas方法使用指南
2014/12/15 HTML / CSS
基于HTML5的齿轮动画特效
2016/02/29 HTML / CSS
Html5移动端div固定到底部实现底部导航条的几种方式
2021/03/09 HTML / CSS
速比涛英国官网:Speedo英国
2019/07/15 全球购物
党课学习思想汇报
2014/01/02 职场文书
数控专业大学毕业生职业规划范文
2014/02/06 职场文书
yy婚礼主持词
2014/03/14 职场文书
教师个人自我评价范文
2014/04/13 职场文书
单位授权委托书范本
2014/09/26 职场文书
高中运动会广播稿
2015/08/19 职场文书
SpringBoot集成MongoDB实现文件上传的步骤
2022/04/18 MongoDB
在 Python 中利用 Pool 进行多线程
2022/04/24 Python
一文教你快速生成MySQL数据库关系图
2022/06/28 Redis