怎么才能把10进制转换成16进制例如10 转换成0A,要大写。
我每次都是转换成a,怎么改过来??

解决方案 »

  1.   


    public class T
    {
    public static void main(String[] args)
    {
    System.out.println("dec2hex(156)="+dec2hex(156));
    }

    public static String dec2hex(int dec)
    {
    StringBuffer sb = new StringBuffer();
    sb.append("0x");

    for (int i = 0; i < 8; i ++)
    {
    int tmp = (dec >> (7 - i%8)*4)&0x0f;

    if (tmp < 10) 
    sb.append(tmp);
    else
    sb.append((char)('A' + (tmp - 10)));
    }

    return sb.toString();
    }
    }F:\>java T
    dec2hex(0x12348f)=0x0012348FF:\>java T
    dec2hex(16)=0x00000010F:\>java T
    dec2hex(16)=0x00000010F:\>java T
    dec2hex(0x1234ef)=0x001234EFF:\>java T
    dec2hex(156)=0x0000009C