如何format一个16进制的串

coaa 2004-11-16 10:33:10
一个16进制的数h, 0<h<FF
需要得到这么一个串:
00,01,02...0a,0b,0c.....ff
当串是0~f之间的时候需要在前面加0.

如何做?
...全文
468 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
treeroot 2004-11-16
  • 打赏
  • 举报
回复
比较难呀,如果不是16进制的话就好办了
不过可以自己实现的
边城狂人 2004-11-16
  • 打赏
  • 举报
回复
/*
* @(#) Test.java
* Create By James Fancy
*/
package jamesfancy;

public class Test {
public static void main(String[] args) {
char[] buffer = new char[2];
// 随机产生一个 0 - 255 的数
byte n = (byte) (((int) (Math.random() * 0xFF)) & 0xFF);
System.out.println("n = " + n);

// 取头4位生成一个十六进制数字
buffer[0] = Character.forDigit((n >>> 4) & 0x0F, 16);
// 取末4位生成一个十六进制数字
buffer[1] = Character.forDigit(n & 0x0F, 16);

// 将两个十六进制数字凑成字符串,转换为大写输出
System.out.println(new String(buffer).toUpperCase());
}
}
coaa 2004-11-16
  • 打赏
  • 举报
回复
num must be between 0 and 255.
String s = Integer.toHexString(num);
return s.length() == 1?s:"0"+s;

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧