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 相关文章推荐
[原创]图片分页查看
Aug 28 Javascript
推荐20家国外的脚本下载网站
Apr 28 Javascript
5个javascript的数字格式化函数分享
Dec 07 Javascript
小结Node.js中非阻塞IO和事件循环
Sep 18 Javascript
js中javascript:void(0) 真正含义
Nov 05 Javascript
理解JavaScript中worker事件api
Dec 25 Javascript
AngularJS 使用$sce控制代码安全检查
Jan 05 Javascript
JQuery为元素添加样式的实现方法
Jul 20 Javascript
vue监听键盘事件的快捷方法【推荐】
Jul 11 Javascript
Vue中的循环及修改差值表达式的方法
Aug 29 Javascript
js实现坦克移动小游戏
Oct 28 Javascript
小程序实现录音功能
Sep 22 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
全国FM电台频率大全 - 22 重庆市
2020/03/11 无线电
PHP生成月历代码
2007/06/14 PHP
php session应用实例 登录验证
2009/03/16 PHP
PHPMYADMIN 简明安装教程 推荐
2010/03/07 PHP
php实现源代码加密的方法
2015/07/11 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
JS获取地址栏参数的小例子
2013/08/23 Javascript
解析jquery中的ajax缓存问题
2013/12/19 Javascript
javascript实现获取浏览器版本、操作系统类型
2015/01/29 Javascript
Bootstrap每天必学之按钮
2015/11/26 Javascript
详谈javascript异步编程
2016/02/21 Javascript
JavaScript中instanceof运算符的使用示例
2016/06/08 Javascript
简单实现Bootstrap标签页
2020/08/09 Javascript
JavaScript学习笔记之DOM操作实例分析
2019/01/08 Javascript
NestJs 静态目录配置详解
2019/03/12 Javascript
微信小程序上传多图到服务器并获取返回的路径
2019/05/05 Javascript
JQuery事件委托原理与用法实例分析
2019/05/13 jQuery
element-ui上传一张图片后隐藏上传按钮功能
2019/05/22 Javascript
Vue插件之滑动验证码
2019/09/21 Javascript
原生JS实现相邻月份日历
2020/10/13 Javascript
js前端对于大量数据的展示方式及处理方法
2020/12/02 Javascript
python+selenium 鼠标事件操作方法
2019/08/24 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
2019/09/16 Python
Python:slice与indices的用法
2019/11/25 Python
Python PyPDF2模块安装使用解析
2020/01/19 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
python 解决Windows平台上路径有空格的问题
2020/11/10 Python
网上签名寄语活动留言
2014/01/18 职场文书
党建工作先进材料
2014/05/02 职场文书
职务说明书范文
2014/05/07 职场文书
消防志愿者活动方案
2014/08/23 职场文书
党员个人年度总结
2015/02/14 职场文书
班主任远程培训研修日志
2015/11/13 职场文书
快消品行业营销模式与盈利模式分享
2019/09/27 职场文书
Python爬虫进阶之Beautiful Soup库详解
2021/04/29 Python