首页 > 编程知识 正文

十六进制高位低位,定点数把小数点固定在最低位的后面

时间:2023-05-06 04:29:31 阅读:150502 作者:107

昨天写Android程序的时候有一个十六进制代码的组装要求

:必须将十进制数字转换为十六进制。 然后,高位在前一位的后面,小于8个字符的位在后面添加0

本打算用以下代码处理

int strtotal=149936; stringstrhex2=string.format(x ),strtotal ).toUpperCase ); //在高位补上0得到的值为000249B0

明显不一致的只能写别的转换方法

看代码,先写下转换的方法

/** *二进制数据转换为十六进制,高位为高位,低位为低位* @param num二进制数据* @ return */publicstaticstringnumtohex (intnum ) { string hex=' ' }; wile (数字!=0) stringh=integer.tostring (num0x ff,16 ); if () h.length ) )0x01 )==1) h='0' h; hex=hex h; num=num 8; } return hex; }所得结果为:b04902

是的,还差一步。 位数小于0。 让我们调用以下代码进行处理

/** *字符串完成0 * @ paramstr * @ param strlength * @ return */publicstaticstringaddzerofornum (stringstr,int strLength ) ints //sb.append('0' ).append ) str; //左补0sb.append(str ).append ) '0); //右补0 str=sb.toString (; strLen=str.length (; }str=string.format(str ).toUpperCase ); //转移到大写的return str; }最终结果得到:B0490200

完成。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。