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实现代码
Oct 01 Javascript
纯js实现遮罩层效果原理分析
May 27 Javascript
javascript编写实用的省市选择器
Feb 12 Javascript
浅谈$(document)和$(window)的区别
Jul 15 Javascript
jquery.cookie.js实现用户登录保存密码功能的方法
Apr 15 Javascript
浅谈jQuery双事件多重加载的问题
Oct 05 Javascript
Vue过滤器的用法和自定义过滤器使用
Feb 08 Javascript
COM组件中调用JavaScript函数详解及实例
Feb 23 Javascript
js实现拖拽功能
Mar 01 Javascript
React Native 通告消息竖向轮播组件的封装
Aug 25 Javascript
vue.js提交按钮时进行简单的if判断表达式详解
Aug 08 Javascript
Angular2中监听数据更新的方法
Aug 31 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动画很好看?新作烂得令人发指,名叫《红色之子》
2020/04/09 欧美动漫
第九节 绑定 [9]
2006/10/09 PHP
真正的ZIP文件操作类(php)
2007/07/21 PHP
php5中类的学习
2008/03/28 PHP
php强大的时间转换函数strtotime
2016/02/18 PHP
PHP使用curl_multi实现并发请求的方法示例
2018/04/29 PHP
PHP通过get方法获得form表单数据方法总结
2018/09/12 PHP
原生js结合html5制作简易的双色子游戏
2015/03/30 Javascript
在Node.js中使用HTTP上传文件的方法
2015/06/23 Javascript
jQuery.prop() 使用详解
2015/07/19 Javascript
函数window.open实现关闭所有的子窗口
2015/08/03 Javascript
javascript使用递归算法求两个数字组合功能示例
2017/01/03 Javascript
angular和BootStrap3实现购物车功能
2017/01/25 Javascript
Ionic+AngularJS实现登录和注册带验证功能
2017/02/09 Javascript
angularjs实现时间轴效果的示例代码
2017/11/29 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
2020/05/28 Javascript
JavaScript实现shuffle数组洗牌操作示例
2019/01/03 Javascript
Vue实现购物车实例代码两则
2020/05/30 Javascript
Python中为feedparser设置超时时间避免堵塞
2014/09/28 Python
wxpython实现图书管理系统
2018/03/12 Python
对numpy的array和python中自带的list之间相互转化详解
2018/04/13 Python
python处理两种分隔符的数据集方法
2018/12/12 Python
python最小生成树kruskal与prim算法详解
2019/01/17 Python
Python 可视化神器Plotly详解
2020/12/26 Python
使用sublime text3搭建Python编辑环境的实现
2021/01/12 Python
GUESS西班牙官方网上商城:美国服饰品牌
2017/03/15 全球购物
Deux par Deux官方网站:设计师童装
2020/01/03 全球购物
2014自主招生自荐信策略
2014/01/27 职场文书
大学生优秀自荐信范文
2014/02/25 职场文书
社区服务活动总结
2014/05/07 职场文书
毕业生面试求职信
2014/06/23 职场文书
党的生日演讲稿
2014/09/10 职场文书
2015年街道除四害工作总结
2015/05/15 职场文书
环保建议书范文
2015/09/14 职场文书
《地震中的父与子》教学反思
2016/02/16 职场文书
导游词之山西关帝庙
2019/11/01 职场文书