zoukankan      html  css  js  c++  java
  • JS中parseInt使用问题解析

    一般我们需要从其他地方(服务器或参数)获得一个字符串形式的数字(比如:str=“00057”)

    而又想在此数据上进行算术操作,比如想得到str+2=59

    那么我们就需要用到js的parseInt()函数

    parseInt()是把对应的数字字符串数据化,并可以在其上进行相应的算术计算

    然而,在使用parseInt()函数的时候,还需注意点小细节:

    比如:parseInt("0057") 结果为57 ,而parseInt("0058")结果为5

    parseInt("007")结果为7,而parseInt("008")结果为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() 将把它当作十进制数。

    所以产生上述原因是因为我们没有设置第二个类型参数,以致以"0"开头的字符串数据被当做了八进制

    所以以后在使用parseInt(String,radix)函数时,把第二个进制参数加上,以防出错。

    parseInt("0058",10)结果为58,就是我们想要的了

    这表示把"0058"以十进制表示

  • 相关阅读:
    shell 格式化输出
    Linux tar 修改终端命令
    uniqu 用法
    HashMap按照value值进行排序
    汇编语言系列教程之基础入门 (一)
    Linux权限管理
    linux用户管理
    vim的tab键设定
    HTTP请求(GET与POST区别)和响应
    JS eval()
  • 原文地址:https://www.cnblogs.com/qixing/p/parseInt.html
Copyright © 2011-2022 走看看