站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题public static long parseLong(String s, int radix)中的radix那位老大给解释一下?

public static long parseLong(String s, int radix)中的radix那位老大给解释一下?

摘要: public static long parseLong(String s, int radix)中的radix那位老大给解释一下?


parseLong
public static long parseLong(String s,
int radix)
throws NumberFormatException将 string 参数分析为有符号的 long,基数由第二个参数指定。字符串中的字符必须为指定基数中的数字(由 Character.digit(char, int) 是否返回一个非负值来确定),除非第一个字符为 ASCII 字符的减号 -#39;--#39; (-#39;/u002D-#39;),它表示一个负值。返回得到的 long 值。
注意,不允许将字符 L (-#39;/u004C-#39;) 和 l (-#39;/u006C-#39;) 作为类型指示符出现在字符串的结尾处,而这一点在 Java 编程语言源代码中是允许的——除非 L 或 l 以大于 22 的基数形式出现。

如果出现以下情形之一,则抛出 NumberFormatException 类型的异常:

第一个参数是 null 或零长度的字符串。
radix 小于 Character.MIN_RADIX 或者大于 Character.MAX_RADIX。
任何字符串的字符都不是指定基数的数字,除非第一个字符是减号 -#39;--#39; (-#39;/u002d-#39;),假定字符串的长度大于 1。
字符串表示的值不是 long 类型的值。
示例:

parseLong(-#34;0-#34;, 10) returns 0L
parseLong(-#34;473-#34;, 10) returns 473L
parseLong(-#34;-0-#34;, 10) returns 0L
parseLong(-#34;-FF-#34;, 16) returns -255L
parseLong(-#34;1100110-#34;, 2) returns 102L
parseLong(-#34;99-#34;, 8) returns NumberFormatException
parseLong(-#34;Hazelnut-#34;, 10) returns NumberFormatException
parseLong(-#34;Hazelnut-#34;, 36) returns 1356099454469L

参数:
s - 包含要分析的 long 表示形式的 String。
radix - 将在分析 s 时使用的基数。
返回:
由指定基数中的字符串参数表示的 long。
抛出:
NumberFormatException - 如果字符串不包含可分析的 long。



这个基数到底是个什么东东,在系统的具体作用.最好能有个例子,在线急等.


进制呀

最常用的是 10, 2,8,16



这个没什么难理解的吧。
就是表示进制标准,不如10就表示十进制,16就表示16进制等等。
对字符串参数的解析就是按照这个进制标准进行转化成10进制的数值。

比如
System.out.println(Long.parseLong(-#34;473-#34;, 16));
System.out.println(Long.parseLong(-#34;473-#34;,10));
输出为:
1139
473


说明16进制的473转换成十进制就是1139,十进制的473转换成十进制就是473


哦。就是做进制转换的. 那就是说如果我指定了一个30,那就是30位进制的,对吗.


指定30,那么就把字符串作为30进制的数值对待,然后转换成十进制的。


↑返回目录
前一篇: java能否使用dll文件?
后一篇: 请教用户等级的算法。