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 EasyUI API 中文文档 - Tabs标签页/选项卡
Oct 01 Javascript
js判断选择时间不能小于当前时间的示例代码
Sep 24 Javascript
让javascript加载速度倍增的方法(解决JS加载速度慢的问题)
Dec 12 Javascript
详细分析JavaScript函数定义
Jul 16 Javascript
使用Javascript实现选择下拉菜单互移并排序
Feb 23 Javascript
利用yarn实现一个webpack+react种子
Oct 25 Javascript
jQuery ajax请求struts action实现异步刷新
Apr 19 jQuery
JavaScript分步实现一个出生日期的正则表达式
Mar 22 Javascript
微信小程序实现自上而下字幕滚动
Jul 14 Javascript
简单的React SSR服务器渲染实现
Dec 11 Javascript
Angular8 Http拦截器简单使用教程
Aug 20 Javascript
jQuery实现简单轮播图效果
Dec 27 jQuery
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
Zend的MVC机制使用分析(二)
2013/05/02 PHP
9条PHP编程小知识及易犯的小错误
2015/01/22 PHP
Zend Framework创建自己的动作助手详解
2016/03/05 PHP
yii2带搜索功能的下拉框实例详解
2016/05/12 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
2016/12/06 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/06 Javascript
JavaScript调用后台的三种方法实例
2013/10/17 Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
2016/01/14 Javascript
学JavaScript七大注意事项【必看】
2016/05/04 Javascript
nodejs socket实现的服务端和客户端功能示例
2017/06/02 NodeJs
vue+node+webpack环境搭建教程
2017/11/05 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
2018/02/08 Javascript
JavaScript中严格判断NaN的方法
2018/02/16 Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
2018/09/25 Javascript
4个顶级开源JavaScript图表库
2018/09/29 Javascript
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
[00:09]DOTA2全国高校联赛 精彩活动引爆全场
2018/05/30 DOTA
跟老齐学Python之再深点,更懂list
2014/09/20 Python
基于Python pip用国内镜像下载的方法
2018/06/12 Python
修改python plot折线图的坐标轴刻度方法
2018/12/13 Python
详解Python 切片语法
2019/06/10 Python
python常用数据重复项处理方法
2019/11/22 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
2020/05/16 Python
Python基于gevent实现文件字符串查找器
2020/08/11 Python
玩具反斗城西班牙网上商城:ToysRUs西班牙
2017/01/19 全球购物
Mamas & Papas沙特阿拉伯:英国最受欢迎的婴儿品牌
2017/11/20 全球购物
Dillard’s百货官网:Dillards.com
2018/05/26 全球购物
当文件系统受到破坏时,如何检查和修复系统?
2012/03/09 面试题
团员个人的自我评价
2013/12/02 职场文书
教师群众路线教育实践活动学习笔记
2014/11/05 职场文书
2015年毕业实习工作总结
2014/12/12 职场文书
2015年安全教育月活动总结
2015/03/26 职场文书
opencv读取视频并保存图像的方法
2021/06/04 Python
Java移除无效括号的方法实现
2021/08/07 Java/Android