当前位置:编程学习 > JAVA >>

字符转十以内任意进制



又来求助了,看了好多源码 都是二转八 八转十六啥的。。。十以内的数字也知道用啥算法。。。可是字符又不能像数字那样除以base算余数。。。要怎么转呢?

要求是三个输入:两个int,source base、destbase 和一个string
先把string 用soucebase输入的那个进制表达出来,再将这个转换成destbase的进制,然后print
然后两个base都是2-10的任意一个数字 3啊4啊都可以。。。string要怎么弄啊┭┮ ﹏ ┭┮ --------------------编程问答-------------------- Integer.parseInt(String s, int radix) 



使用第二个参数指定的基数,将字符串参数解析为有符号的整数。除了第一个字符可以是用来表示负值的 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。
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,