zoukankan      html  css  js  c++  java
  • 由parseInt("09")引发的问题

    在项目中使用到了parseInt("09")的转换,结果总是显示为0,在网上搜索了一下原来是由于进制引起来的问题。

    从parseInt("08")开始,都会是0,因为在使用parseInt过程中,忽略了还有第二个参数的存在。

    parseInt(string, radix)的作用是将string转换为整数,第二个参数是设置string的格式,常用的有2、8、10、16,表示string是多少进制的数。

    radix 可取值的范围是2~36,如果不在这个范围内,将返回NaN。

    如果设置radix的值是0或者不设置时,会自动识别string的格式:
    以 "0x" 开头,parseInt() 会把 string 除0x外的其余部分当作十六进制数,
    以 "0" 开头,parseInt() 会把 string 除0外的字符当作八进制或十六进制数,
    以 1 ~ 9 的数字开头,parseInt() 将把它当作十进制数。

    由此可记住,以后在使用parseInt时,要把第二个参数写全,养成一个好习惯。

    写成parseInt("09",10)即可解决问题,将09按照十进制转换。

  • 相关阅读:
    使用Delphi调用条形码控件BarTender打印标签
    我看过的书
    语法规则
    智能家居
    HAL库ADC的DMA采集
    HAL库串口中断接收
    触动心灵的一句话
    摄影技巧
    中国茶道
    单片机延时函数
  • 原文地址:https://www.cnblogs.com/bingya/p/3011375.html
Copyright © 2011-2022 走看看