一、使用Number()函数。

二、使用parseInt()/parseFloat()函数。

详情:

一、使用Number()函数将非数值类型的数据自动的转化为数组类型

  Number()函数可以将任何类型的数据转化为number类型,转换的规则如下:

    如果是Boolean值,true和false将分别被替换为 1 和 0

    如果是数字值,只是简单的传入和返回

    如果是null值,返回 0

    如果是undefined,返回NaN

    如果是字符串,遵循下列规则:

      如果字符串中只包含数字,则将其转换为十进制数值,即”1“会变成1,”123“会变成123,而”011“会变成11(前导的0被忽略)

      如果字符串中包含有效的浮点格式,如”1.1“,则将其转换为对应的浮点数(同样,也会忽略前导0)

      如果字符串中包含有效的十六进制格式,例如”0xf“,则将其转换为相同大小的十进制整数值

      如果字符串是空的,则将其转换为 0

      如果字符串中包含除了上述格式之外的字符,则将其转换为NaN

  Number(true);//1
  Number(false);//0
  Number(null); // 0
  Number(undefined); // NaN
  Number("100"); // 100
  Number("010"); // 前面的0被忽略
  Number("0x10"); // 有效的16进制格式的字符串,被转换为10进制格式的数值
  Number("100Hello"); //NaN
  Number("Hello"); //NaN

二、在实际中更多的是使用parseInt()/parseFloat()进行转换,但parseInt()/parseFloat()只能将字符串类型的数据转化为number类

  1、parseInt()转换的结果是没有小数的

  parseInt()函数在转换字符串时,更多的是看其是否符合数值模式。它会忽略字符串前面的空格,直至找到第一个非空格字符。

  如果第一个字符串不是数字字符或者负号,parseInt()会返回NaN;也就是说,用parseInt()转换空字符串会返回NaN。

  如果第一个字符是数字字符,praseInt()会继续解析第二个字符,直到解析完所有后续字符或者遇到了一个非数字字符。

  例如,"1234blue"会被转换为1234,”22.5“会被转换为22,因为小数点并不是有效的数字字符。

  如果字符串中的第一个字符是数字字符,parseInt()也能够识别出各种整数格式(即十进制、八进制、十六进制)。

    parseInt("010")); // 不能识别8进制,前面的0被忽略

    parseInt("0x10")); //16 进制格式的字符串转化为10进制数值

  一个有效的数值格式的字符串,可以被parseInt()单做不同的进制来解析

    parseInt("10",2)); // "10"被当做2进制格式的字符串转化为10进制的数值

    parseInt("10","2")); // "10"被当做2进制格式的字符串转化为10进制的数值

    parseInt("10",8)); // "10"被当做8进制格式的字符串转化为10进制的数值

    parseInt("10",16)); // "10"被当做2进制格式的字符串转化为10进制的数值

  2、parseFloat()转换的结果是有小数的

  parseFloat()转换的结果是带小数的,转换的规则如下:

    与parseInt()函数类似,parseFloat()也是从第一个字符(位置0)开始解析每个字符。而且也是一直解析到字符串末尾

    或者解析到遇见一个无效的浮点数字字符为止。也就是说,字符串中的第一个小数点是有效的,而第二个小数点就是无效的了,

    因此它后面的字符串将被忽略。例如,”22.34.5“将会被转换成22.34。

    parseFloat()和parseInt()的第二个区别在于parseFloat始终都会忽略前导的零。

    由于parseFloat()只能解析十进制值,因此它没有用第二个参数指定基数的用法。

    parseFloat("10.36.36"); // 10.36

    parseFloat("10"); // 10

    parseFloat("00010"); // 前面的0被忽略

    parseFloat("0x10")) // 浮点数没有16进制,只能解析出0

在javaScript中把非数值类型的数据自动转换为数值类型的两种方式的更多相关文章

  1. 定义一个Map集合,key和value不规定类型,任意放入数据,用keySet()和 entrySet()两种方式遍历出Map集合的数据

    package com.lanxi.demo1_1_1; import java.util.HashMap; import java.util.Iterator; import java.util.M ...

  2. selenium中webdriver跳转新页面后定位置新页面的两种方式

    刚刚在写Python爬虫的时候用到了selenium , 在跳转新页面时发现无法定位新页面 , 查找不到新页面的元素 一番查询后得到了解决方法 , 便记录下来备忘 , 也与大家分享 # 页面跳转代码. ...

  3. C语言中两种方式表示时间日期值time_t和struct tm类型的相互转换

    使用gmtime函数或localtime函数将time_t类型的时间日期转换为structtm类型: 使用time函数返回的是一个long值,该值对用户的意义不大,一般不能根据其值确定具体的年.月.日 ...

  4. 【转】java中byte数组与int类型的转换(两种方式)----不错

    原文网址:http://blog.csdn.net/piaojun_pj/article/details/5903009 java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法, ...

  5. javascript中实现sleep的两种方式

    最近在js中要使用到类似于C++中的sleep函数(让cpu休眠).但是js是不可能让cpu休眠,所以可以通过下面的两种方式模拟sleep函数. 方式一:使用setTimeout函数代替.如果在一个循 ...

  6. javascript总结40:DOM中操作样式的两种方式

    1 DOM中操作样式的两种方式 1 通过元素的style属性 注意: 通过style属性设置样式时,css中要写单位的属性,在js代码中也要加单位 //html <div id="bo ...

  7. 在基于MVC的Web项目中使用Web API和直接连接两种方式混合式接入

    在我之前介绍的混合式开发框架中,其界面是基于Winform的实现方式,后台使用Web API.WCF服务以及直接连接数据库的几种方式混合式接入,在Web项目中我们也可以采用这种方式实现混合式的接入方式 ...

  8. javascript消除字符串两边空格的两种方式,面向对象和函数式编程。python oop在调用时候的优点

    主要是javascript中消除字符串空格,比较两种方式的不同 //面向对象,消除字符串两边空格 String.prototype.trim = function() { return this.re ...

  9. Spring 让 LOB 数据操作变得简单易行,LOB 代表大对象数据,包括 BLOB 和 CLOB 两种类型

    转自:https://www.ibm.com/developerworks/cn/java/j-lo-spring-lob/index.html 概述 LOB 代表大对象数据,包括 BLOB 和 CL ...

随机推荐

  1. Python3.6.2安装pip install paramike模块报错

    问题描述: 在有几台电脑上pip install paramike报错 报错内容: Could not find a version that satisfies the requirement sq ...

  2. Layout-3相关代码:3列布局代码演化三]

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  3. PHP 实现多网站共享用户SESSION 数据解决方案

    PHP 实现多网站共享用户SESSION 数据解决方案 来源URL:http://blog.csdn.net/dongdongzzcs/article/details/6906613 一.问题起源 稍 ...

  4. centos 下安装mulval工具

    我这里采用的是centos 6.5版本系统 MulVAL是企业网络安全分析的工具.它使用漏洞扫描程序(OVAL / Nessus)作为攻击路径生成的数源,其中包括扫描结果和网络可访问性信息. 在这之前 ...

  5. 试用 Angular v6 的 Ivy compiler

    “Ivy” 是 Angular v6 的新一代渲染器.从 v6.0.0-beta.1 开始,Ivy 已经作为体验 API 发布. 作为下一代的 Angular 的视图引擎,重点在于彻底缩减代码尺寸并增 ...

  6. Windows10最新更新破坏了PowerShell功能

    Java9%E6%8E%A5%E8%BF%91%E4%BA%A4%E4%BB%98%E6%97%A5%E6%9C%9F%E5%92%8C%E8%8C%83%E5%9B%B4%E5%AE%A1%E6%9 ...

  7. Webservice 从客户端中检测到有潜在危险的 request.form值[解决方法]

    <system.web> <httpRuntime requestValidationMode="2.0" /> <pages validateReq ...

  8. 【学习】数据的加载、存储与文件格式【pandas】

    输入输出通常可以划分为几个大类:读取文本文件和其他更高效的磁盘存储格式,加载数据库中的数据,利用web API操作网络资源 1.读写文本格式的数据 pandas提供了一些用于将表格型数据读取为Data ...

  9. Flask 里的WEB表单应用

    它是HTML页面中负责数据采集的部件.表单有三个部分组成:表单标签.表单域.表单按钮.表单允许用户输入数据,负责HTML页面数据采集,通过表单将用户输入的数据提交给服务器. 创建模板文件 login. ...

  10. MSMQ 队列消息和死信队列

    日志消息 日志队列可以保存你操作过的消息的备份.它的好处是,一但发现前面的操作失败,可以从日志队列中重新创建出原先的消息对象,然后再进行操作. 例如,向远方发送一个消息对象,然后对方返回一个失败的确认 ...