有关Java进制转换
Java进制转换
printf 实现进制转换
通过printf及格式控制串进行转换
代码示例
public class Main
{
public static void main(String[] args)
{
System.out.printf("0"+"%o",6666);
System.out.printf(" 0X"+"%X",6666);
}
}
格式控制串
控制串 | 功能 |
---|---|
“%d” | 表示以十进制整数形式输出 |
“%o” | 表示以八进制形式输出 |
“%x” | 表示以十六进制输出 |
“%X” | 表示以十六进制输出,并且将字母(A、B、C、D、E、F)换成大写 |
“%e” | 表示以科学计数法输出浮点数 |
“%E” | 表示以科学计数法输出浮点数,而且将e大写 |
“%f” | 表示以十进制浮点数输出,在"%f"之间加上".n"表示输出时保留小数点后面n位 |
Integer 实现进制转换
代码示例
public class Main
{
public static void main(String[] args)
{
int i=6666;
System.out.println("0"+Integer.toOctalString(i)+
" 0X"+Integer.toHexString(i).toUpperCase());
}
}
Integer类的方法
方法 | 功能 |
---|---|
Integer.toBinaryString() | 可实现十进制转换成二进制 |
Integer.toOctalString() | 可实现十进制转换成八进制 |
Integer.toHexString() | 可实现十进制转换成十六进制 |
Integer.valueOf(s, radix) | 将第一个参数解释为用第二个参数指定的基数表示的有符号整数, 将 s 以 radix 进制的形式转换为十进制 |
toUpperCase | 表示转换为大写字母 |
toLowerCase | 表示转换为小写字母 |
BigInteger 实现进制转换
import java.math.BigInteger;
public class Main
{
public static void main(String[] args)
{
System.out.println("0" + change("6666",10,8) + " 0X" + change("6666",10,16));
}
/** * number 要转换的数 * from 原数的进制 * to 要转换成的进制 */
private static String change(String number, int from, int to)
{
String str = new BigInteger(number, from).toString(to);
return str.toUpperCase();
}
}