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 相关文章推荐
Iframe自适应高度绝对好使的代码 兼容IE,遨游,火狐
Jan 27 Javascript
jquery miniui 教程 表格控件 合并单元格应用
Nov 25 Javascript
js时间日期和毫秒的相互转换
Feb 22 Javascript
js弹出模式对话框,并接收回传值的方法
Mar 12 Javascript
javascript弹出层输入框(示例代码)
Dec 11 Javascript
javascript实现的一个带下拉框功能的文本框
May 08 Javascript
jquery.cookie实现的客户端购物车操作实例
Dec 24 Javascript
微信小程序(应用号)开发新闻客户端实例
Oct 24 Javascript
Bootstrap 下拉多选框插件Bootstrap Multiselect
Jan 22 Javascript
vuejs指令详解
Feb 07 Javascript
npm qs模块使用详解
Feb 07 Javascript
Element Rate 评分的使用方法
Jul 27 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
PHP7多线程搭建教程
2017/04/21 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
treepanel动态加载数据实现代码
2012/12/15 Javascript
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
JavaScript的模块化:封装(闭包),继承(原型) 介绍
2013/07/22 Javascript
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
根据身份证号自动输出相关信息(籍贯,出身日期,性别)
2013/11/15 Javascript
基于jQuery实现的扇形定时器附源码下载
2015/10/20 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
2016/03/08 Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
2016/11/07 Javascript
JavaScript实现解析INI文件内容的方法
2016/11/17 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
Vue.js分页组件实现:diVuePagination的使用详解
2018/01/10 Javascript
node Buffer缓存区常见操作示例
2019/05/04 Javascript
vue中使用GraphQL的实例代码
2019/11/04 Javascript
vue中watch和computed为什么能监听到数据的改变以及不同之处
2019/12/27 Javascript
python读取oracle函数返回值
2016/07/18 Python
python使用Plotly绘图工具绘制水平条形图
2020/03/25 Python
Python OS模块实例详解
2019/04/15 Python
用django设置session过期时间的方法解析
2019/08/05 Python
python实现在线翻译功能
2020/03/03 Python
基于PyTorch的permute和reshape/view的区别介绍
2020/06/18 Python
django 装饰器 检测登录状态操作
2020/07/02 Python
简单的Python人脸识别系统
2020/07/14 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
Html5游戏开发之乒乓Ping Pong游戏示例(二)
2013/01/21 HTML / CSS
澳大利亚药房在线:ThePharmacy
2017/10/04 全球购物
波兰最早的运动鞋精品店之一:Street Supply
2019/08/29 全球购物
.net开发工程师面试题
2014/02/25 面试题
技术副厂长岗位职责
2013/12/26 职场文书
幼儿园中秋节活动反思
2014/02/16 职场文书
亲子活动总结
2014/04/26 职场文书
我的中国梦演讲稿高中篇
2014/08/19 职场文书
2014年人力资源工作总结
2014/11/19 职场文书
2015年教师新年寄语
2014/12/08 职场文书