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 相关文章推荐
对google个性主页的拖拽效果的js的完整注释[转]
Apr 10 Javascript
jquery ajax提交表单数据的两种实现方法
Apr 29 Javascript
jquery ready()的几种实现方法小结
Jun 18 Javascript
JavaScript性能陷阱小结(附实例说明)
Dec 28 Javascript
JS实现的竖向折叠菜单代码
Oct 21 Javascript
jQuery实现根据生日计算年龄 星座 生肖
Nov 23 Javascript
详谈表单重复提交的三种情况及解决方法
Aug 16 Javascript
解决vue接口数据赋值给data没有反应的问题
Aug 27 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
Feb 14 Javascript
JS实现放大镜效果
Sep 21 Javascript
微信小程序实现点击导航条切换页面
Nov 19 Javascript
JavaScript中时间格式化新思路toLocaleString()
Nov 07 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
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
PHP正确配置mysql(apache环境)
2011/08/28 PHP
PHP+MySQL修改记录的方法
2015/01/21 PHP
PHP关联数组实现根据元素值删除元素的方法
2015/06/26 PHP
PHP实现的文件上传类与用法详解
2017/07/05 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
js 实现菜单左右滚动显示示例介绍
2013/11/21 Javascript
javascript运算符——逻辑运算符全面解析
2016/06/27 Javascript
jQuery操作cookie
2016/08/08 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
JS实现简易的图片拖拽排序实例代码
2017/06/09 Javascript
使用Nodejs连接mongodb数据库的实现代码
2017/08/21 NodeJs
Vue中使用 setTimeout() setInterval()函数的问题
2018/09/13 Javascript
Vue中跨域及打包部署到nginx跨域设置方法
2019/08/26 Javascript
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
[14:50]2018DOTA2亚洲邀请赛开幕式
2018/04/03 DOTA
使用IPython下的Net-SNMP来管理类UNIX系统的教程
2015/04/15 Python
浅谈用VSCode写python的正确姿势
2017/12/16 Python
基于python log取对数详解
2018/06/08 Python
详解Django3中直接添加Websockets方式
2020/02/12 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
2020/05/25 Python
使用Keras中的ImageDataGenerator进行批次读图方式
2020/06/17 Python
python批量生成条形码的示例
2020/10/10 Python
css3 仿写阿里云水纹效果的示例代码
2018/02/10 HTML / CSS
资生堂美国官网:Shiseido美国
2016/09/02 全球购物
德国消费电子产品购物网站:Guter Kauf
2020/09/15 全球购物
会计电算化毕业生自荐信
2014/03/03 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
党员自我评价范文2015
2015/03/03 职场文书
争先创优个人总结
2015/03/04 职场文书
贫困证明书范文
2015/06/16 职场文书
汤姆叔叔的小屋读书笔记
2015/06/30 职场文书
总结Python常用的魔法方法
2021/05/25 Python
CSS3实现列表无限滚动/轮播效果
2021/06/23 HTML / CSS
html原生table实现合并单元格以及合并表头的示例代码
2023/05/07 HTML / CSS