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 关于=+与+=日期函数使用说明(赋值运算符)
Nov 15 Javascript
js bind 函数 使用闭包保存执行上下文
Dec 26 Javascript
jquery重新播放css动画所遇问题解决
Aug 21 Javascript
鼠标滑在标题上显示图片的JS代码
Nov 19 Javascript
在JS数组特定索引处指定位置插入元素的技巧
Aug 24 Javascript
jquery实现多条件筛选特效代码分享
Aug 28 Javascript
Bootstrap框架实现广告轮播效果
Nov 28 Javascript
微信小程序与php 实现微信支付的简单实例
Jun 23 Javascript
Vue高版本中一些新特性的使用详解
Sep 25 Javascript
javascript关于“时间”的一次探索
Jul 24 Javascript
通过微信公众平台获取公众号文章的方法示例
Dec 25 Javascript
JavaScript实现多层颜色选项卡嵌套
Sep 21 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 多线程上下文中安全写文件实现代码
2009/12/28 PHP
php通过sort()函数给数组排序的方法
2015/03/18 PHP
PHP curl使用实例
2015/07/02 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
2015/07/31 PHP
JavaScript延迟加载
2021/03/09 Javascript
javascript 函数参数限制说明
2010/11/19 Javascript
jquery实现心算练习代码
2010/12/06 Javascript
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
2015/07/01 Javascript
浅谈$(document)和$(window)的区别
2015/07/15 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
AngularJS中的指令全面解析(必看)
2016/05/20 Javascript
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
jquery实现全选、全不选以及单选功能
2017/03/23 jQuery
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
Electron vue的使用教程图文详解
2019/07/05 Javascript
JavaScript Blob对象原理及用法详解
2020/10/14 Javascript
[42:20]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python实现linux下使用xcopy的方法
2015/06/28 Python
Python 迭代器工具包【推荐】
2016/05/06 Python
python3获取url文件大小示例代码
2019/09/18 Python
python中Ansible模块的Playbook的具体使用
2020/05/28 Python
Numpy中np.max的用法及np.maximum区别
2020/11/27 Python
CSS3新属性transition-property transform box-shadow实例学习
2013/06/06 HTML / CSS
CSS3 Media Queries详细介绍和使用实例
2014/05/08 HTML / CSS
YOOX台湾:意大利奢侈品电商
2018/10/13 全球购物
加拿大专业美发产品购物网站:Chatters
2021/02/28 全球购物
法国低价在线宠物商店:bitiba.fr
2020/07/03 全球购物
医药营销个人求职信范文
2014/02/07 职场文书
自主招生教师推荐信
2014/05/10 职场文书
银行授权委托书样本
2014/10/13 职场文书
优秀党支部申报材料
2014/12/24 职场文书
毕业设计指导教师评语
2014/12/30 职场文书
追讨欠款律师函
2015/05/27 职场文书
导游词之西湖雷峰塔
2019/09/18 职场文书
全网非常详细的pytest配置文件
2022/07/15 Python