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获取url参数的使用扩展实例
Dec 29 Javascript
Javascript中的变量使用说明
May 18 Javascript
精通Javascript系列之数值计算
Jun 07 Javascript
node.js中的http.response.addTrailers方法使用说明
Dec 14 Javascript
Javascript实现计算个人所得税
May 10 Javascript
JQuery实现的按钮倒计时效果
Dec 23 Javascript
利用Js+Css实现折纸动态导航效果实例源码
Jan 25 Javascript
使用vue-aplayer插件时出现的问题的解决
Mar 02 Javascript
微信小程序中转义字符的处理方法
Mar 28 Javascript
通过扫小程序码实现网站登陆功能
Aug 22 Javascript
关于vue的列表图片选中打钩操作
Sep 09 Javascript
Angular CLI发布路径的配置项浅析
Mar 29 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中json_decode()和json_encode()的使用方法
2012/06/04 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
php 人员权限管理(RBAC)实例(推荐)
2017/05/24 PHP
用JAVASCRIPT如何给&amp;lt;textarea&amp;gt;&amp;lt;/textarea&amp;gt;赋值
2007/04/20 Javascript
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
TinyMCE 新增本地图片上传功能
2010/11/05 Javascript
jquery中防刷IP流量软件影响统计的一点对策
2011/07/10 Javascript
用js小类库获取浏览器的高度和宽度信息
2012/01/15 Javascript
jquery实现table鼠标经过变色代码
2013/09/25 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
浅谈JavaScript中变量和函数声明的提升
2016/08/09 Javascript
jquery心形点赞关注效果的简单实现
2016/11/14 Javascript
利用JS实现简单的日期选择插件
2017/01/23 Javascript
简单实现JS上传图片预览功能
2017/04/14 Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
2017/07/27 Javascript
jQuery实现input[type=file]多图预览上传删除等功能
2019/08/02 jQuery
用原生JS实现爱奇艺首页导航栏代码实例
2019/09/19 Javascript
用Golang运行JavaScript的实现示例
2019/11/25 Javascript
微信小程序点击view动态添加样式过程解析
2020/01/21 Javascript
Vue Router 实现动态路由和常见问题及解决方法
2020/03/06 Javascript
JavaScript文档加载模式以及元素获取
2020/07/28 Javascript
node.js通过url读取文件
2020/10/16 Javascript
使用Python进行稳定可靠的文件操作详解
2013/12/31 Python
Face++ API实现手势识别系统设计
2018/11/21 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
2019/09/15 Python
Python爬虫入门教程01之爬取豆瓣Top电影
2021/01/24 Python
工程师岗位职责
2013/11/08 职场文书
电大毕业个人生自我鉴定
2014/03/26 职场文书
《埃及的金字塔》教学反思
2014/04/07 职场文书
关于读书的演讲稿400字
2014/08/27 职场文书
机关党员三严三实心得体会
2014/10/13 职场文书
教师病假条范文
2015/08/17 职场文书
小学体育跳绳课教学反思
2016/02/16 职场文书
导游词之吉林花园山
2019/10/17 职场文书
用golang如何替换某个文件中的字符串
2021/04/25 Golang