JS数值转换

JS数值转换的方式有4种:Number(),parseInt(),parseFloat(),数据类型*1或者/1。

他们的区别在于:

1.Number():可以将非数值转为数值

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

如果是数字,那么就是简单的传入和返回

如果是null值,那么返回0

如果是undefined,那么返回NaN

console.log(Number(true));//

console.log(Number(false));//

console.log(Number(10));//

console.log(Number(null));//

console.log(Number(undefined));//NaN

如果是字符串,那么又有如下的规则:

如果字符串只包含数字,则将其转为十进制,即”1”会变成1,”123”变成123, 而”011”会变为11 (注意这里不会被当成八进制来处理)

如果字符串中包含有效的十六进制格式,如”1.1”, 则将其转换为对应的浮点数值

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

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

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

console.log(Number("1"));//
console.log(Number("012"));//
console.log(Number("0o10"));//
console.log(Number("0b111"));//
console.log(Number("3.14"));//3.14
console.log(Number("0xf"));//
console.log(Number(""));//
console.log(Number("123Hello"));//NaN

2.parselnt():也是将一个非数值转为数值

相比number0函数, parselnt0会更多的看是否有数字,有就会将其转换为数值。

最简单的例子为number(函数转换”123Hello"时会转换为NaN,而parselnt0则会将其转换为123。碰到空字符串时,number(函数会将其转换为0,而parselnt0则会将其转换为NaN。最后是在碰到小数时,会有一个取整的过程。例如”3.14”会 被转换为”3”

console.log(parseInt("1"));//
console.log(parseInt("012"));//
console.log(Number("0o10"));//
console.log(Number("0b111"));//
console.log(parseInt("3.14"));//
console.log(parseInt("0xf"));//
console.log(parseInt(""));//NaN
console.log(parseInt("123Hello"));//

3.parseFloat():将非数值转为浮点数

parseFloat0只解析十进制值,所以没有第二个参数,该函数会将带有小数点的字符串转换为小数。如果没有小数点的数会被转换为整数。同样的parseFloat()也是尽 可能转换更多的数值,

console.log(parseFloat("21"));//
console.log(parseFloat("123Hello"));//
console.log(parseFloat("0xA"));//
console.log(parseFloat("3.14"));//3.14
console.log(parseFloat("22.34.5"));//22.34 console.log(parseFloat("0908.34"));//908.34 console.log(parseFloat("3.1415e2"));//314.15

4.数据类型*1或者/1

JS-数值转换的更多相关文章

  1. js数值转换

    先来几个题吧: var num1 = Number("123blue");var num2 = Number("");var num3 = Number([]) ...

  2. JS 数值转换、加减乘除

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. 小tips:JS数值之间的转换,JS中最大的Number是多少?,JS == 与 === 的区别

    JS数值之间的转换 Number(), parseInt(),parseFloat() Number()函数的转换规则如下: 1.如果boolean值,true和false将分别被转换为1和02.如果 ...

  4. Javascript数值转换(string,int,json)

    数值: 在JavaScript中,数值转换一般有三种方式: 一.Number(param)函数:param可以用于任何数据类型 1.1 param是Boolean值,true和false分别转换为1和 ...

  5. javascript的数值转换

    在javascript中数值转换,最要的一点是函数第一个字母必须要大写.js中的函数有string字符型.number数值型.null空型.boolean布尔型.undefined未定义. 具体的转换 ...

  6. 【前端】深入浅出Javascript中的数值转换

    由于Javascript是一门弱类型的语言,在我们的代码中无时无刻不在发生着类型转换,所以了解Javascript中的类型转换对于了解我们认识Javascript的运行原理至关重要. 本文主要从数值转 ...

  7. Js强制转换

    Js强制转换 ParseInt(a,b):整型 只能放字符串,b为基数.声明前面的数是几进制.因为只能放字符串,所以无论放什么都转换为字符串: 如果String以0x开头则为16进制的整数: ‘036 ...

  8. Js 日期转换函数(UTC时间转换及日期想加减)

    IOS上Js日期转换中new Date("yyyy-mm-dd")不能正常工作,必须使用new Date("yyyy/MM/dd"); 日期相加减: Date. ...

  9. JavaScript数值转换总结

    在JavaScript中,数值转换一般有三种方式: 一.Number(param)函数:param可以用于任何数据类型 1.1  param是Boolean值,true和false分别转换为1和0: ...

  10. JavaScript进阶(四)js字符串转换成数字的三种方法

    js字符串转换成数字的三种方法 在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b. ...

随机推荐

  1. POJ2513:Colored Sticks(字典树+欧拉路径+并查集)

    http://poj.org/problem?id=2513 Description You are given a bunch of wooden sticks. Each endpoint of ...

  2. spring boot 全局异常处理及自定义异常类

    全局异常处理: 在处理controller层抛出的自定义异常时,可以实现@ControllerAdvice注解捕获,配合@ExceptionHandler来增强所有的@requestMapping方法 ...

  3. 传统Web应用请求和响应特点【显示当前时间】

    (1)请求:浏览器以HTTP协议的方式提交请求到服务器 (2)响应:服务器以HTTP协议的方式响应内容到浏览器 注意:HTTP是WEB大众化非安全协议 HTTPS是WEB安全协议,是基于HTTP协议的 ...

  4. mongodb全文搜索

    mongodb 的 enterprise 集合存储企业信息: { "_id" : ObjectId("5d62b2a4380d051cfc00565b"), & ...

  5. [CDH] Cloudera's Distribution including Apache Hadoop

    You may choose to install spark, yarn, hive, etc one by one. [Spark] 00 - Install Hadoop & Spark ...

  6. quartz定时任务表达式案例

    表示式 说明 "0 0 12 * * ? " 每天12点运行 "0 15 10 ? * *" 每天10:15运行 "0 15 10 * * ?&quo ...

  7. Scala语法04 - 其他

  8. 忘记mysql或mariadb数据库的密码之解决方案

    一.实验环境 CentOS Linux release 7.5.1804 (Core) mysql  Ver 15.1 Distrib 5.5.56-MariaDB, for Linux (x86_6 ...

  9. innodb 隔离等级

    前一段时间参加了一个国内知名公司的面试,被问及对数据库的了解,自感还不错,可谁知在隔离等级这种基本概念的点翻个船,也不是因为完全不懂,而是本来这里就比较晦涩,加之具体上次看这里的东西时候已经过了一年多 ...

  10. 手写web框架之加载Controller,初始化框架

    1,加载Controller     我们需要创建 一个ControllerHelper类,让它来处理下面的逻辑:      通过ClassHelper我们可以获取所有定义了Controller注解的 ...