• JS-数值转换


    JS数值转换

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

    他们的区别在于:

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

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

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

    如果是null值,那么返回0

    如果是undefined,那么返回NaN

    console.log(Number(true));//1
    
    console.log(Number(false));//0
    
    console.log(Number(10));//10
    
    console.log(Number(null));//0
    
    console.log(Number(undefined));//NaN

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

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

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

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

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

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

    console.log(Number("1"));//1
    console.log(Number("012"));//12
    console.log(Number("0o10"));//8
    console.log(Number("0b111"));//7
    console.log(Number("3.14"));//3.14
    console.log(Number("0xf"));//15
    console.log(Number(""));//0
    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"));//1
    console.log(parseInt("012"));//12
    console.log(Number("0o10"));//8
    console.log(Number("0b111"));//7
    console.log(parseInt("3.14"));//3
    console.log(parseInt("0xf"));//15
    console.log(parseInt(""));//NaN
    console.log(parseInt("123Hello"));//123

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

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

    console.log(parseFloat("21"));//21
    console.log(parseFloat("123Hello"));//123
    console.log(parseFloat("0xA"));//0
    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

        

  • 相关阅读:
    实现Oracle的字符串分割(split)[摘录]
    批处理加密[转摘]
    .NET Framework 3.5 SP1安装时下载文件问题及精简方法[转载]
    Oracle 管道化表函数(Pipelined Table)[转载]
    FCKeditor只读与编辑状态切换的不完全解决方案[原创]
    C# Web开发中弹出对话框的函数[转载]
    广发信用卡提现手续费及利息计算器VB源码[原创]
    提升个人网站流量的工具集合(真实IP流量)[转载]
    12.26 3日沙盘Top20分析
    12.29 股票量能沙盘分析软件更新
  • 原文地址:https://www.cnblogs.com/CccK-html/p/11375371.html
Copyright © 2020-2023  润新知