Java类型转换工具类(十六进制—bytes互转、十进制—十六进制互转,String—Double互转)
/*** 数据类型转换工具类* @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 |
|
Java类型转换工具类(十六进制—bytes互转、十进制—十六进制互转,String—Double互转)相关推荐
- Hutool Java常用工具类汇总
简介 Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以"甜甜的". Hu ...
- java常用工具类和Hutool常用的工具类整理
java常用工具类和Hutool常用的工具类整理 1.java常用工具类 1.1 Scanner类 /*** Scanner 类*/@Testpublic void testScanner() {Sc ...
- UrlUtils工具类,Java URL工具类,Java URL链接工具类
UrlUtils工具类,Java URL工具类,Java URL链接工具类 >>>>>>>>>>>>>>>&g ...
- Java并发工具类(闭锁CountDownLatch)
并发工具类系列: Java并发工具类(闭锁CountDownLatch) Java并发工具类(栅栏CyclicBarrier) Java并发工具类(信号量Semaphore) 闭锁是一种同步工具类,可 ...
- java日期工具类DateUtil
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. DateUtil类 [java] view plain copy package com.util; ...
- Java常用工具类StringUtils的常用方法
Java常用工具类StringUtils的常用方法 1.该工具类是用于操作Java.lang.String类的. 2.StringUtils类在操作字符串是安全的,不会报空指针异常,也正因此,在操作字 ...
- 组织机构代码和统一社会信用代码校验规则以及java校验工具类
组织机构代码 编码规则编辑 1.全国组织机构代码由八位数字(或大写拉丁字母)本体代码和一位数字(或大写拉丁字母)校验码组成. 本体代码采用系列(即分区段)顺序编码方法. 校验码按照以下公式计算: C9 ...
- 彻底理解Java并发:Java并发工具类
本篇内容包括:Java 并发工具类的介绍.使用方式与 Demo,包括了 CountDownLatch(线程计数器).CyclicBarrier(回环栅栏).Semaphore(信号量) 以及 Exch ...
- java 系统工具类 查询内存 CPU 系统基本信息 SysInfoUtils
java 系统工具类 查询内存 CPU 系统基本信息 SysInfoUtils maven依赖 <dependency><groupId>com.github.oshi< ...
最新文章
- python 添加环境变量_python永久添加环境变量
- Spring3.1+SpringMVC3.1+JPA2.0
- C语言rec文件如何打开,REC 文件扩展名: 它是什么以及如何打开它?
- 《SpringCloud超级入门》Spring Boot Starter的介绍及使用《七》
- Linux下的用户切换命令
- linux ls for 命令嵌套
- SpringBoot启动时实现自动执行代码的几种方式讲解
- SAP ASE 多个严重漏洞的详情披露
- Mac下Vmware Fusion配置虚拟机虚拟网卡并配置CENTOS上网
- AJAX问题:如果SESSION丢失,会直接报错。
- VIm中Python自动补全插件Pydiction
- 3D视觉学习路线 + 路线规划
- 自适应分级轮询超时机制
- 面试官灵魂三问:什么是SOA?什么是微服务?SOA和微服务有什么区别?
- 谷歌等提出Soft Diffusion:从通用扩散过程中正确调度、学习和采样
- AWS EC2 and EBS
- Java开源的CMS系统
- mysql本周 下周下月,mysql 日期计算,今天,明天,本周,下周,本月,下月
- 小米电视android刷机,小米电视怎么刷机?小米电视刷第三方系统固件下载
- 区块链快速入门(六)——区块链密码学与安全相关技术