当前位置: 网学 > 编程文档 > Javascript > 正文

javascript中parseInt函数

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/19
下载{$ArticleTitle}原创论文样式

javascript的parseInt函数,大家都知道是干啥的
但你知道
parseInt("07") 返回多少 ?
parseInt("08") 又返回多少 ?

正确答案
parseInt("07") 返回8
parseInt("08") 返回0

你知道问题在哪?
其实,这个问题可能大家都没想过吧。

用javascript的parseInt函数时,
parseInt("08")或者parseInt("09")返回的居然是0,
而parseInt("01")parseInt("07")都是正确的。

为什么这样呢?
一开始很难理解,后来发现出现这个问题的原因是当在前面有"0"时,
javascript的debugger会认为这是一个八进制数,
而"08"和"09"不是一个合法的八进制数,
所以导致了那个问题,但是parseFloat不会存在这个问题。

只要写成这样就行了parseInt("08",10),指明是十进制就会返回8

javascript参考中parseInt()函数是如此描述:

parseInt 方法
返回由字符串转换得到的整数。将字符串转换成整型。

parseInt(numString, [radix])

parseInt的参数radix:

可选项。在 2 和 36 之间的表示 numString 所保存数字的进制的值。如果没有提供,则前缀为 ''0x'' 的字符串被当作十六进制,前缀为 ''0'' 的字符串被当作八进制。所有其它字符串都被当作是十进制的。

因此,如果使用parseInt("08",10)或者parseInt("09",10),
通知javascript解释器使用十进制来解析就可以得到你要的数字。

parseInt
  public static int parseInt(String s,int radix) throws NumberFormatException使用第二个参数指定的基数,将字符串参数解析为有符号的整数。除了第一个字符可以是用来表示负值的 ASCII 减号 ''-'' (''\u002D’)外,字符串中的字符必须都是指定基数的数字(通过 Character.digit(char, int) 是否返回一个负值确定)。返回得到的整数值。


  如果发生以下任意一种情况,则抛出一个 NumberFormatException 类型的异常:

 第一个参数为 null 或一个长度为零的字符串。


  基数小于 Character.MIN_RADIX 或者大于 Character.MAX_RADIX。


  假如字符串的长度超过 1,那么除了第一个字符可以是减号 ''-'' (''u002D’) 外,字符串中的任何字符都不是指定基数的数字。


  字符串表示的值不是 int 类型的值。


  示例:


  parseInt("0", 10) 返回 0


  parseInt("473", 10) 返回 473


  parseInt("-0", 10) 返回 0


  parseInt("-FF", 16) 返回 -255


  parseInt("1100110", 2) 返回 102


  parseInt("2147483647", 10) 返回 2147483647


  parseInt("-2147483648", 10) 返回 -2147483648


  parseInt("2147483648", 10) 抛出 NumberFormatException


  parseInt("99", 8) 抛出 NumberFormatException


  parseInt("Kona", 10) 抛出 NumberFormatException


  parseInt("Kona", 27) 返回 411787


  参数:


  s - 包含要分析的整数表示形式的 String


  radix - 分析 s 时使用的基数。


  返回:


  使用指定基数的字符串参数表示的整数。


  抛出:


  NumberFormatException - 如果 String 不包含可分析的 int。


  parseInt


  public static int parseInt(String s) throws NumberFormatException将字符串参数作为有符号的十进制整数进行分析。除了第一个字符可以是用来表示负值的 ASCII 减号 ''-'' (''\u002D'') 外,字符串中的字符都必须是十进制数字。返回得到的整数值,就好像将该参数和基数 10 作为参数赋予 parseInt(java.lang.String, int) 方法一样。


  参数:


  s - 包含要分析的 int 表示形式的 String。


  返回:


  用十进制参数表示的整数值。


  抛出:


  NumberFormatException - 如果字符串不包含可分析的整数。


  parseInt


  public static int parseInt(String s)


  throws NumberFormatException将字符串参数作为有符号的十进制整数进行解析。除了第一个字符可以是用来表示负值的 ASCII 减号 ''-'' (''\u002D'') 外,字符串中的字符都必须是十进制数字。返回得到的整数值,就好像将该参数和基数 10 作为参数赋予 parseInt(java.lang.String, int) 方法一样。


  参数:


  s - 包含要解析的 int 表示形式的 String。


  返回:


  用十进制参数表示的整数值。


  抛出:


  NumberFormatException - 如果字符串不包含可解析的整数。
 

  • 下一篇资讯: JS刷新框架实例
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号