android 格式化补零,关于android 的10进制转16进制高位在前低位在后,不足位数补0处理方法...

昨天在写安卓程序时有一个16进制的代码组装要求

要求: 将一个十进制的数值转为16进制.然后高位在前低位在后,并且不足8个字符的在后面补0

本来想着用以下代码处理

int strtotal = 149936;

String strHex2 = String.format("%08x", strtotal).toUpperCase();//高位补0

得到的值是000249B0

明显是不符合的只能另外写一个转换的方法

看代码,先写一个转换的方法

/**

* 十进制数据转换为16进制并高位在前,低位在后

* @param num 十进制数据

* @return

*/

public static String numToHex(int num) {

String hex = "";

while(num != 0) {

String h = Integer.toString(num & 0xff, 16);

if((h.length() & 0x01) == 1)

h = '0' + h;

hex = hex + h;

num = num >> 8;

}

return hex;

}

得到的结果为:b04902

好.还差最后一步.位数不足补0,调用以下代码处理一下吧

/**

* 字符串补0

* @param str

* @param strLength

* @return

*/

public static String addZeroForNum(String str, int strLength)

{

int strLen =str.length();

if(strLen

while(strLen

StringBuffer sb=new StringBuffer();

//sb.append("0").append(str);// 左补0

sb.append(str).append("0");//右补0

str = sb.toString();

strLen = str.length();

}

}

str = String.format(str).toUpperCase();//转为大写

return str;

}

最终结果得到:B0490200

完成.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值