有关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();
  }
}
全部评论

相关推荐

hso_:哈哈哈哈哈哈我没offer一样在同一道题开喷了
投递深圳同为数码等公司10个岗位
点赞 评论 收藏
分享
lxylxy_:其实是美团卷起来了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务