/*** 数据类型转换工具类* @author cyf**/
public class NumConvertUtil{/*** bytes 转16进制字符串* @param bArray* @return*/public static final String bytesToHexString(byte[] bArray) {StringBuffer sb = new StringBuffer(bArray.length);String sTemp;for (int i = 0; i < bArray.length; i++) {sTemp = Integer.toHexString(0xFF & bArray[i]);if (sTemp.length() < 2)sb.append(0);sb.append(sTemp.toUpperCase());}return sb.toString();}/*** 16进制字符串转bytes* @param hex* @return*/public static byte[] hexStringToByte(String hex) {int len = 0;int num=0;//判断字符串的长度是否是两位if(hex.length()>=2){//判断字符喜欢是否是偶数len=(hex.length() / 2);num = (hex.length() % 2);if (num == 1) {hex = "0" + hex;len=len+1;}}else{hex = "0" + hex;len=1;}byte[] result = new byte[len];char[] achar = hex.toCharArray();for (int i = 0; i < len; i++) {int pos = i * 2;result[i] = (byte) (toByte(achar[pos]) << 4 | toByte(achar[pos + 1]));}return result;}private static int toByte(char c) {if (c >= 'a')return (c - 'a' + 10) & 0x0f;if (c >= 'A')return (c - 'A' + 10) & 0x0f;return (c - '0') & 0x0f;}/*** 16进制字符串转十进制int* @param HexString* @return*/public static int HexStringToInt(String HexString) {int inJTFingerLockAddress = Integer.valueOf(HexString, 16);return inJTFingerLockAddress;}/*** 十进制int转16进制字符串* @param HexString* @return*/public static String IntToHexString(int num) {String hexString = Integer.toHexString(num);return hexString;}/*** 16进制String转BCD* @param asc* @return*/public static byte[] strToBcd(String asc) {  int len = asc.length();  int mod = len % 2;  if (mod != 0) {  asc = "0" + asc;  len = asc.length();  }  byte abt[] = new byte[len];  if (len >= 2) {  len = len / 2;  }  byte bbt[] = new byte[len];  abt = asc.getBytes();  int j, k;  for (int p = 0; p < asc.length()/2; p++) {  if ( (abt[2 * p] >= '0') && (abt[2 * p] <= '9')) {  j = abt[2 * p] - '0';  } else if ( (abt[2 * p] >= 'a') && (abt[2 * p] <= 'z')) {  j = abt[2 * p] - 'a' + 0x0a;  } else {  j = abt[2 * p] - 'A' + 0x0a;  }  if ( (abt[2 * p + 1] >= '0') && (abt[2 * p + 1] <= '9')) {  k = abt[2 * p + 1] - '0';  } else if ( (abt[2 * p + 1] >= 'a') && (abt[2 * p + 1] <= 'z')) {  k = abt[2 * p + 1] - 'a' + 0x0a;  }else {  k = abt[2 * p + 1] - 'A' + 0x0a;  }  int a = (j << 4) + k;  byte b = (byte) a;  bbt[p] = b;  }  return bbt;  }  /*** String 类型数字转化为Double  保留置顶小数位(用于显示金额等。)* @param money* @param type  保留小数点位数  #.00保留两位  #.0保留一位  #保留整数* @return*/public static String strToDouble(String money,String type){String toDouble= new DecimalFormat(type).format(Double.parseDouble(money));return toDouble;}}

十六进制字符串高低位转换(“dc45fd45”转化成“45fd45dc”)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

private static String lockAddress(String lockAddress) {

        

        StringBuffer s1 = new StringBuffer(lockAddress);

        int index;

        for (index = 2; index < s1.length(); index += 3) {

            s1.insert(index, ',');

        }

        String[] array = s1.toString().split(",");

        String[] swapOrder = swapOrder(array);

        StringBuffer s2 = new StringBuffer();

        for (String string :swapOrder ) {

            s2.append(string);

    }

        return s2.toString();

        

    }

    

    

     public static String[] swapOrder(String[] arr){

         int length = arr.length;

         for(int i=0;i<length/2;i++){ //只需一个循环,数组的一半就可以,第一个和最后一个交换,第二个和倒数第二个交换。。。

             String temp = arr[i];

             arr[i] = arr[length-1-i];

             arr[length-1-i] = temp;

             }

         return arr;

         }

    

public static void main(String[] args) throws Exception {

    

    

    System.out.println(ServerDoor.lockAddress("dc45fd45"));

    //输出结果:45fd45dc

}

Java类型转换工具类(十六进制—bytes互转、十进制—十六进制互转,String—Double互转)相关推荐

  1. Hutool Java常用工具类汇总

    简介 Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以"甜甜的". Hu ...

  2. java常用工具类和Hutool常用的工具类整理

    java常用工具类和Hutool常用的工具类整理 1.java常用工具类 1.1 Scanner类 /*** Scanner 类*/@Testpublic void testScanner() {Sc ...

  3. UrlUtils工具类,Java URL工具类,Java URL链接工具类

    UrlUtils工具类,Java URL工具类,Java URL链接工具类 >>>>>>>>>>>>>>>&g ...

  4. Java并发工具类(闭锁CountDownLatch)

    并发工具类系列: Java并发工具类(闭锁CountDownLatch) Java并发工具类(栅栏CyclicBarrier) Java并发工具类(信号量Semaphore) 闭锁是一种同步工具类,可 ...

  5. java日期工具类DateUtil

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. DateUtil类 [java] view plain copy package com.util; ...

  6. Java常用工具类StringUtils的常用方法

    Java常用工具类StringUtils的常用方法 1.该工具类是用于操作Java.lang.String类的. 2.StringUtils类在操作字符串是安全的,不会报空指针异常,也正因此,在操作字 ...

  7. 组织机构代码和统一社会信用代码校验规则以及java校验工具类

    组织机构代码 编码规则编辑 1.全国组织机构代码由八位数字(或大写拉丁字母)本体代码和一位数字(或大写拉丁字母)校验码组成. 本体代码采用系列(即分区段)顺序编码方法. 校验码按照以下公式计算: C9 ...

  8. 彻底理解Java并发:Java并发工具类

    本篇内容包括:Java 并发工具类的介绍.使用方式与 Demo,包括了 CountDownLatch(线程计数器).CyclicBarrier(回环栅栏).Semaphore(信号量) 以及 Exch ...

  9. java 系统工具类 查询内存 CPU 系统基本信息 SysInfoUtils

    java 系统工具类 查询内存 CPU 系统基本信息 SysInfoUtils maven依赖 <dependency><groupId>com.github.oshi< ...

最新文章

  1. python 添加环境变量_python永久添加环境变量
  2. Spring3.1+SpringMVC3.1+JPA2.0
  3. C语言rec文件如何打开,REC 文件扩展名: 它是什么以及如何打开它?
  4. 《SpringCloud超级入门》Spring Boot Starter的介绍及使用《七》
  5. Linux下的用户切换命令
  6. linux ls for 命令嵌套
  7. SpringBoot启动时实现自动执行代码的几种方式讲解
  8. SAP ASE 多个严重漏洞的详情披露
  9. Mac下Vmware Fusion配置虚拟机虚拟网卡并配置CENTOS上网
  10. AJAX问题:如果SESSION丢失,会直接报错。
  11. VIm中Python自动补全插件Pydiction
  12. 3D视觉学习路线 + 路线规划
  13. 自适应分级轮询超时机制
  14. 面试官灵魂三问:什么是SOA?什么是微服务?SOA和微服务有什么区别?
  15. 谷歌等提出Soft Diffusion:从通用扩散过程中正确调度、学习和采样
  16. AWS EC2 and EBS
  17. Java开源的CMS系统
  18. mysql本周 下周下月,mysql 日期计算,今天,明天,本周,下周,本月,下月
  19. 小米电视android刷机,小米电视怎么刷机?小米电视刷第三方系统固件下载
  20. 区块链快速入门(六)——区块链密码学与安全相关技术

热门文章

  1. 3-Scala控制结构
  2. 互联网金融时代下机器学习与大数据风控系统
  3. 集合及其常见操作,创建,增加,删除,查找
  4. DirectX 3D 设备丢失(lost device)的处理
  5. 机器学习模型 知乎_知乎CTO李大海:谢邀,来分享下内容社区的AI架构搭建与应用...
  6. python实现找出1000以内的所有完美数
  7. 如何使用nginx配置SSL证书?
  8. CentOS7安装MySQL,全网最快安装教程
  9. 10项技能让前端开发者价值百万!
  10. SpringCloudGateway(一) 概览