Integer类toString(int i,int radix)方法

Integer类toString(int i,int radix)方法:

  首先抛出java的api中的介绍:

    

public static String toString(int i, int radix)返回由第二个参数指定的基数中的第一个参数的字符串表示形式。 
如果基数小于Character.MIN_RADIX或大于Character.MAX_RADIX ,则使用基数10 。 

如果第一个参数为负,结果的第一个元素是ASCII减号'-' ( '\u002D' )。 如果第一个参数不为负,则结果中不会出现符号字符。 

结果的剩余字符表示第一个参数的大小。 如果幅度为零,则由单个零字符'0' ( '\u0030' )表示; 否则,幅度的表示的第一个字符将不是零字符。 以下ASCII字符用作数字: 

0123456789abcdefghijklmnopqrstuvwxyz 
这些是'\u0030'至'\u0039'和'\u0061'至'\u007A' 。 如果radix是N ,则这些字符的前N个按照所示的顺序用作小数位数N。 因此,十六进制(小数16)的数字是0123456789abcdef 。 如果需要大写字母,可以对结果调用String.toUpperCase()方法: 
Integer.toString(n, 16).toUpperCase() 
参数 
i - 要转换为字符串的整数。 
radix - 在字符串表示中使用的基数。 
结果 
指定基数中的参数的字符串表示形式。 
另请参见: 
Character.MAX_RADIX , Character.MIN_RADIX 
MAX_RADIX = 2 ;
MIN_RADIX = 36;
 

  api中给出的解释很难理解,通过实验这个方法指的是将整数i(十进制)转化为radix进制的整数。

  意思就是如果Integer.toString(5,2);  // 就是将十进制数5转化为二进制数。结果为101


  一段代码实例:判断是否为3的幂数;

  引用:https://leetcode.com/problems/power-of-three/

  
  //判断是否为3的幂数
  public
boolean isPowerOfThree(int n){ String baseChange = Integer.toString(n, 3); boolean powerOfThree = baseChange.matches("^10*$"); return powerOfThree; }

  真的巧妙。各位可以细思里面的运行原理。

  

猜你喜欢

转载自www.cnblogs.com/ABook/p/10190100.html