十六进制字符串转化成为十进制数字字符串

十六进制字符串转化成为十进制数字字符串十六进制字符串转化成为十进制数字字符串 param hexgonSrcStr return public static String convertHexgo String hexgonS

大家好,欢迎来到IT知识分享网。

/ * 十六进制字符串转化成为十进制数字字符串 * @param hexgonSrcStr * @return */ public static String convertHexgon2IntDecimal(String hexgonSrcStr){ if (hexgonSrcStr==null){ return null; } if (hexgonSrcStr.isEmpty()){ return null; } String trim = hexgonSrcStr.trim(); if (trim==null){ return null; } if (trim.isEmpty()){ return null; } String substring = hexgonSrcStr.substring(2); if (!checkIsHexgonStr(substring)){ return null; } int totalIntVal=0; for (int i = 0; i < substring.length(); i++) { char charAt = substring.charAt(i); String chartAtStr=charAt+""; int loopPathTimes=i; int intValFactor=1; switch (chartAtStr){ case "A": intValFactor*=loopPathTimes; intValFactor*=16; int bitIntHexgonA=intValFactor*10; totalIntVal+=bitIntHexgonA; break; case "B": intValFactor*=loopPathTimes; intValFactor*=16; int bitIntHexgonB=intValFactor*11; totalIntVal+=bitIntHexgonB; break; case "C": intValFactor*=loopPathTimes; intValFactor*=16; int bitIntHexgonC=intValFactor*12; totalIntVal+=bitIntHexgonC; break; case "D": intValFactor*=loopPathTimes; intValFactor*=16; int bitIntHexgonD=intValFactor*13; totalIntVal+=bitIntHexgonD; break; case "E": intValFactor*=loopPathTimes; intValFactor*=16; int bitIntHexgonE=intValFactor*14; totalIntVal+=bitIntHexgonE; break; case "F": intValFactor*=loopPathTimes; intValFactor*=16; int bitIntHexgonF=intValFactor*15; totalIntVal+=bitIntHexgonF; break; case "0": intValFactor*=loopPathTimes; intValFactor*=16; int bitIntHexgon0=intValFactor*0; totalIntVal+=bitIntHexgon0; break; case "1": intValFactor*=loopPathTimes; intValFactor*=16; int bitIntHexgon1=intValFactor*1; totalIntVal+=bitIntHexgon1; break; case "2": intValFactor*=loopPathTimes; intValFactor*=16; int bitIntHexgon2=intValFactor*2; totalIntVal+=bitIntHexgon2; break; case "3": intValFactor*=loopPathTimes; intValFactor*=16; int bitIntHexgon3=intValFactor*3; totalIntVal+=bitIntHexgon3; break; case "4": intValFactor*=loopPathTimes; intValFactor*=16; int bitIntHexgon4=intValFactor*4; totalIntVal+=bitIntHexgon4; break; case "5": intValFactor*=loopPathTimes; intValFactor*=16; int bitIntHexgon5=intValFactor*5; totalIntVal+=bitIntHexgon5; break; case "6": intValFactor*=loopPathTimes; intValFactor*=16; int bitIntHexgon6=intValFactor*6; totalIntVal+=bitIntHexgon6; break; case "7": intValFactor*=loopPathTimes; intValFactor*=16; int bitIntHexgon7=intValFactor*7; totalIntVal+=bitIntHexgon7; break; case "8": intValFactor*=loopPathTimes; intValFactor*=16; int bitIntHexgon8=intValFactor*8; totalIntVal+=bitIntHexgon8; break; case "9": intValFactor*=loopPathTimes; intValFactor*=16; int bitIntHexgon9=intValFactor*9; totalIntVal+=bitIntHexgon9; break; } } return String.valueOf(totalIntVal); } / * 判断是否是十六进制字符串数字 * @param hexgonStr * @return */ public static Boolean checkIsHexgonStr(String hexgonStr){ if (hexgonStr==null){ return null; } if (hexgonStr.isEmpty()){ return null; } String trim = hexgonStr.trim(); if (trim==null){ return null; } if (trim.isEmpty()){ return null; } String testRuleStr = new String("ABCDEF0"); for (int i = 0; i < hexgonStr.length(); i++) { Character charAt = hexgonStr.charAt(i); boolean contains = testRuleStr.contains(charAt + ""); if (!contains){ return false; } } return true; }

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/180932.html

(0)
上一篇 2025-06-15 10:45
下一篇 2025-06-15 11:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信