1、Java10进制转16进制

/** 卡号位数:8 */public static byte CARD_NUM_BIT = 8;/*** isBlank * * @param value* @return true: blank; false: not blank*/private static boolean isBlank(String value) {if (value == null || "".equals(value.trim())) {return true;}return false;}/*** 10进制转16进制,并补齐卡号位数* * @param str* @return*/public static String toHexStr(String str) {String result = "";String regex = "^\\d{1,}$";if (!isBlank(str)) {str = str.trim();if (str.matches(regex)) {String hexStr = Long.toHexString(Long.parseLong(str.trim())).toUpperCase();if (hexStr.length() < CARD_NUM_BIT) {hexStr = org.apache.commons.lang3.StringUtils.leftPad(hexStr, CARD_NUM_BIT, '0');}result = hexStr;} else if (isHex(str)) {if (str.length() < CARD_NUM_BIT) {str = org.apache.commons.lang3.StringUtils.leftPad(str, CARD_NUM_BIT, '0');}result = str;}}return result;}

2、Java16进制转10进制

/*** isBlank * * @param value* @return true: blank; false: not blank*/private static boolean isBlank(String value) {if (value == null || "".equals(value.trim())) {return true;}return false;}/*** 判断是否是16进制数* * @param strHex* @return*/public static boolean isHex(String strHex) {int i = 0;if (strHex.length() > 2) {if (strHex.charAt(0) == '0' && (strHex.charAt(1) == 'X' || strHex.charAt(1) == 'x')) {i = 2;}}for (; i < strHex.length(); ++i) {char ch = strHex.charAt(i);if ((ch >= '0' && ch <= '9') || (ch >= 'A' && ch <= 'F') || (ch >= 'a' && ch <= 'f'))continue;return false;}return true;}/*** 计算16进制对应的数值* * @param ch* @return* @throws Exception*/private static int getHex(char ch) throws Exception {if (ch >= '0' && ch <= '9')return (int) (ch - '0');if (ch >= 'a' && ch <= 'f')return (int) (ch - 'a' + 10);if (ch >= 'A' && ch <= 'F')return (int) (ch - 'A' + 10);throw new Exception("error param");}/*** 计算幂* * @param nValue* @param nCount* @return* @throws Exception*/private static long getPower(int nValue, int nCount) throws Exception {if (nCount < 0)throw new Exception("nCount can't small than 1!");if (nCount == 0)return 1;long nSum = 1;for (int i = 0; i < nCount; ++i) {nSum = nSum * nValue;}return nSum;}/*** 16进制转10进制,对16进制数的每一位数乘以其对应的16的幂,相加。* @param strHex 待转换的字符串* @param force 是否强制按16进制转换,纯数字也可能是16进制,true则将纯数字按16进制处理* @return*/public static long hexToLong(String strHex, boolean force) {long nResult = 0;String regex = "^\\d{1,}$";if (!isBlank(strHex)) {strHex = strHex.trim();} else {return nResult;}if (!force && strHex.matches(regex)) {return Long.parseLong(strHex);}if (!isHex(strHex)) {return nResult;}String str = strHex.toUpperCase();if (str.length() > 2) {if (str.charAt(0) == '0' && str.charAt(1) == 'X') {str = str.substring(2);}}int nLen = str.length();for (int i = 0; i < nLen; ++i) {char ch = str.charAt(nLen - i - 1);try {nResult += (getHex(ch) * getPower(16, i));} catch (Exception e) {e.printStackTrace();}}return nResult;}/*** 16进制转10进制* @param strHex* @return*/public static long hexToLong(String strHex) {return hexToLong(strHex, false);}

Java10进制转16进制,16进制转10进制相关推荐

  1. java中 8进制 10进制 2进制 16进制 相互转换

    十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinar ...

  2. 2进制 , 8进制 , 10进制 , 16进制 , 介绍 及 相互转换 及 快速转换

    为什么要使用进制数 数据在计算机中的表示,最终以二进制的形式存在 , 就是各种 <黑客帝国>电影中那些 0101010- 的数字 ; 我们操作计算机 , 实际 就是 使用 程序 和 软件 ...

  3. C# .NET 16进制转换,10进制转换,8进制转换,2进制转换

    C# .NET 16进制转换,10进制转换,8进制转换,2进制转换 介绍: 16进制:外文名"Hexadecimal"简写 hex: 大多时候以"H"表示 10 ...

  4. 16进制-2进制-10进制转换包(终端交互专用)

    因业务需要,与终端机器进行交互.特此写了个2进制10进制16进制字符串之间的转换包. package com.tools;import nettyServer.nServerAccept; impor ...

  5. 利用10位AD转换器 及 LED 数码管,实现由AD转换器采集温度,并用数码管显示。温度超出一定范围,LED 指示灯闪烁报警。(主要分析进制16进制转换10进制,并用数码管显示问题)

    ** 题目: ** 利用原有的电路 AD 及 LED 数码管显示等例子,进行整合.实现由 AD转换器采集温度(用可调电阻模拟),温度在数码管上显示.当温度超出一定范围,用 LED 指示灯进行闪烁报警. ...

  6. 数组中hashCode就是内存地址,以及汉字幻化为16进制或10进制

    int[] arr4={1,2,3,4,5};System.out.println("arr4: "+arr4); System.out.println("arr4.ha ...

  7. 进制数转换器的VB算法实现(2/8/10/16进制数可以相互转换)

    在VB6中新建一个工程,当前窗体默认为form1,添加一个框架控件frame.几个文本框控件text.几个标签控件label.两个timer计时器.三个按钮控件.添加一个窗体form2.一个模块mod ...

  8. go语言10进制与16进制转换

    野旷天低树,江清月近人 目录 16进制字符串转16进制int64 16进制字符串转10进制字符串 10进制字符串转16进制字符串 10进制字符串转换10进制int64 16进制字符串转16进制int6 ...

  9. java进制转化_【Java学习笔记之四】java进制转化

    十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinar ...

  10. 进制转换问题---例如把26进制转为10进制

    问题:a-z表示0-25,代表26进制,现在要求把该26进制转为10进制   例如: 输入:ba 输出:26 先看如何把十六进制怎么转换成十进制 它可以表示为:2*10^3+0*10^2+3*10^1 ...

最新文章

  1. 【直播】李祖贤:集成学习答疑直播之五 -- 常用集成思路
  2. flask处理cookie
  3. UVA12412 A Typical Homework (a.k.a Shi Xiong Bang Bang Mang)
  4. 前端学习(2693):重读vue电商网站14之步骤条的使用与美化
  5. Axure在SVN共享项目如何获取历史文件
  6. java多线程通信方法
  7. leetcode(三)—— Longest Substring Without Repeating Characters(最长不重复子串 Python/C++)
  8. echarts多次使用SetOption时的数据问题
  9. 判断一个对象是否存在
  10. freeSWITCH中动态加载模块
  11. python查找手册
  12. 免费的Andr​​oid最好的视频播放器应用程序2012
  13. 程序员用C/C++打造车牌识别系统!同学眼中只有膜拜!
  14. Mac双网卡路由设置实现内外网同时访问
  15. vue json对象转数组_Vue优秀表单组件,用Vue构建表单的最简单方法——Vue Formulate
  16. 1688API item_search_img - 拍立淘搜索淘宝商品
  17. python求残差_用Python计算Pearson标准残差
  18. 随堂笔记4——文本编辑器Vim
  19. 2.12 手机GPS定位
  20. uniapp实现左右滑动

热门文章

  1. word插入excel文档显示图标的方法
  2. Pascal中的字符串函数和数学函数
  3. 亚马逊云科技启示录:创新作帆,云计算的征途是汪洋大海
  4. RadioButton 和 RadioButtonList 比较
  5. sql server 修改列属性为非必填项
  6. NOI2017酱油记(伪)
  7. ICMP协议之ping实现
  8. 什么是面向对象?你是怎么理解面向对象的?为什么要用面向对象?用面向对象有什么好处?
  9. JAVA Stream的collect用法与原理(详解)
  10. 一文读懂数据科学Notebook