JavaScript数值转换的三种方式总结

 更新时间:2014年07月31日 09:16:23   投稿:whsnow  
JavaScript数值转换一般有三种方式,Number(param)函数、parseInt(param)、parseIFloat(param),下面为大家详细介绍,需要的朋友可以参考下

在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>

相关文章

  • js利用事件的阻止冒泡实现点击空白模态框的隐藏

    js利用事件的阻止冒泡实现点击空白模态框的隐藏

    点击弹出某个框框,但是,有时候不想操作,就想点击某个空白处,隐藏该框框,关于这一点,下面有个具体的实现
    2014-01-01
  • php中给js数组赋值方法

    php中给js数组赋值方法

    PHP函数库提供了编/解码JSON的函数:json_encode()和json_decode(),可以比较方便的传递数组或对象给javascript
    2014-03-03
  • 简单使用webpack打包文件的实现

    简单使用webpack打包文件的实现

    这篇文章主要介绍了简单使用webpack打包文件的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • 提交按钮的name=''submit''引起的js失效问题及原因

    提交按钮的name=''submit''引起的js失效问题及原因

    这篇文章主要介绍了提交按钮的name='submit'引起的js失效问题及原因,需要的朋友可以参考下
    2015-02-02
  • javascript attachEvent和addEventListener使用方法

    javascript attachEvent和addEventListener使用方法

    attachEvent与addEventListener区别 适应的浏览器版本不同,同时在使用的过程中要注意
    2009-03-03
  • javascript 图片轮换 函数化继承

    javascript 图片轮换 函数化继承

    一直让我困扰的是,我不知道如何去让这个效果 自动播放,或者费了很多周折。这可能叫初始化。
    2010-05-05
  • JavaScript中eval函数的问题

    JavaScript中eval函数的问题

    这篇文章主要介绍了JavaScript中eval函数的问题,需要的朋友可以参考下
    2016-01-01
  • 微信小程序自定义可滚动的弹出框

    微信小程序自定义可滚动的弹出框

    这篇文章主要为大家详细介绍了微信小程序自定义可滚动的弹出框,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • 如何使JavaScript休眠或等待

    如何使JavaScript休眠或等待

    在本文中,我将解释如何使用 setTimeout(),包括如何使用它来制作一个睡眠函数,使JavaScript暂停执行并在连续的代码行之间等待。
    2021-04-04
  • 初步了解javascript面向对象

    初步了解javascript面向对象

    面向对象的语言有一个标志,即拥有类的概念,抽象实例对象的公共属性与方法,基于类可以创建任意多个实例对象,一般具有封装、继承、多态的特性!但JS中对象与纯面向对象语言中的对象是不同的,ECMA标准定义JS中对象:无序属性的集合,其属性可以包含基本值、对象或函数
    2015-11-11

最新评论