当前位置: 首页 > news >正文

Java 数据处理 - 数值转不同进制的字符串(数值转十进制字符串、数值转二进制字符串、数值转八进制字符串、数值转十六进制字符串)

一、数值转十进制字符串

  1. 调用 String.valueOf()
int num = 123;String decStr = String.valueOf(num);System.out.println(decStr);
# 输出结果123
  1. 调用 Integer.toString(),指定进制
int num = 123;String decStr = Integer.toString(num);System.out.println(decStr);
# 输出结果123
  1. 拼接引号
int num = 123;String decStr = "" + num;System.out.println(decStr);
# 输出结果123

二、数值转二进制字符串

1、基本转换
  1. 调用 Integer.toBinaryString()
int num = 5;String binaryStr = Integer.toBinaryString(num);System.out.println(binaryStr);
# 输出结果101
  1. 调用 Integer.toString(),指定进制
# 输出结果101
2、补零
  1. 调用 String.format() + Integer.toBinaryString(),并调用 String.replace() 替换空格
占位符说明
%8s将字符串格式化为 8 个字符的宽度,不足的部分用空格填充
%16s将字符串格式化为 16 个字符的宽度,不足的部分用空格填充
int num = 5;String binaryStr1 = String.format("%8s", Integer.toBinaryString(num)).replace(' ', '0');
String binaryStr2 = String.format("%16s", Integer.toBinaryString(num)).replace(' ', '0');System.out.println(binaryStr1);
System.out.println(binaryStr2);
# 输出结果00000101
0000000000000101
  1. 手动补零
int num = 5;String binaryStr1 = "0".repeat(8 - Integer.toBinaryString(num).length()) + Integer.toBinaryString(num);
String binaryStr2 = "0".repeat(16 - Integer.toBinaryString(num).length()) + Integer.toBinaryString(num);System.out.println(binaryStr1);
System.out.println(binaryStr2);
# 输出结果00000101
0000000000000101

三、数值转八进制字符串

  1. 调用 Integer.toOctalString()
int num = 63;String octStr = Integer.toOctalString(num);System.out.println(octStr);
# 输出结果77
  1. 调用 Integer.toString(),指定进制
int num = 63;String octStr = Integer.toString(num, 8);System.out.println(octStr);
# 输出结果77

四、数值转十六进制字符串

1、基本转换
  1. 调用 Integer.toHexString()
int num = 255;String hexStr = Integer.toHexString(num);System.out.println(hexStr);
# 输出结果ff
  1. 调用 Integer.toString(),指定进制
int num = 255;String hexStr = Integer.toString(num, 16);System.out.println(hexStr);
# 输出结果ff
2、补零
  1. 调用 String.format()
占位符说明
%04x对整数进行十六进制格式化,宽度为 4,不足的部分用 0 填充
%08x对整数进行十六进制格式化,宽度为 8,不足的部分用 0 填充
%04X对整数进行十六进制格式化,宽度为 4,不足的部分用 0 填充,并且将小写字母转换为大写字母
%08X对整数进行十六进制格式化,宽度为 8,不足的部分用 0 填充,并且将小写字母转换为大写字母
int num = 255;String hexStr1 = String.format("%04x", num);
String hexStr2 = String.format("%08x", num);System.out.println(hexStr1);
System.out.println(hexStr2);// 大写
String hexStr3 = String.format("%04X", num);
String hexStr4 = String.format("%08X", num);System.out.println(hexStr3);
System.out.println(hexStr4);
# 输出结果00ff
000000ff
00FF
000000FF
  1. 调用 String.format() + Integer.toHexString(),并调用 String.replace() 替换空格
占位符说明
%4s将字符串格式化为 4 个字符的宽度,不足的部分用空格填充
%8s将字符串格式化为 8 个字符的宽度,不足的部分用空格填充
int num = 255;String hexStr1 = String.format("%4s", Integer.toHexString(num)).replace(' ', '0');
String hexStr2 = String.format("%8s", Integer.toHexString(num)).replace(' ', '0');System.out.println(hexStr1);
System.out.println(hexStr2);// 大写
String hexStr3 = String.format("%4s", Integer.toHexString(num).toUpperCase()).replace(' ', '0');
String hexStr4 = String.format("%8s", Integer.toHexString(num).toUpperCase()).replace(' ', '0');System.out.println(hexStr3);
System.out.println(hexStr4);
# 输出结果00ff
000000ff
00FF
000000FF
  1. 手动补零
int num = 255;String hexStr1 = "0".repeat(4 - Integer.toHexString(num).length()) + Integer.toHexString(num);
String hexStr2 = "0".repeat(8 - Integer.toHexString(num).length()) + Integer.toHexString(num);System.out.println(hexStr1);
System.out.println(hexStr2);// 大写
String hexStr3 = "0".repeat(4 - Integer.toHexString(num).length()) + Integer.toHexString(num).toUpperCase();
String hexStr4 = "0".repeat(8 - Integer.toHexString(num).length()) + Integer.toHexString(num).toUpperCase();System.out.println(hexStr3);
System.out.println(hexStr4);
# 输出结果00ff
000000ff
00FF
000000FF

相关文章:

  • C++23 已移除特性解析
  • CQF预备知识:一、微积分 -- 1.8.1 链式法则 I 详解
  • 电子电路:怎么理解时钟脉冲上升沿这句话?
  • PostgreSQL性能监控双雄:深入解析pg_stat_statements与pg_statsinfo
  • 深度学习驱动的超高清图修复技术——综述
  • 【数据结构】图的存储(邻接矩阵与邻接表)
  • LeetCode 1010. 总持续时间可被 60 整除的歌曲
  • 力扣HOT100之动态规划:300. 最长递增子序列
  • Vue-Router简版手写实现
  • go|context源码解析
  • 极坐标求解的二重积分适合特征
  • Python(十四)
  • 飞致云开源社区月度动态报告(2025年5月)
  • 【数据结构】——二叉树--链式结构
  • 考研系列—操作系统:第四章、文件管理(part.1)
  • C++ 栈(Stack)与队列(Queue)深度解析:从原理到实战
  • Linux 网络流量监控实战:使用 iftop 精准定位高带宽连接
  • 前端面经 websocket
  • 第四十一天打卡
  • Azure DevOps 管道部署系列之二IIS
  • 连云港做网站制作首选公司/宁波网络营销公司有哪些
  • 怎么给网站做关键词/生成关键词的软件
  • wordpress医疗模板下载/聊城优化seo
  • 网络游戏名/seo收费标准多少
  • 新时代推进政府网站集约化建设/网络营销的特点分别是
  • 山东法院网站哪个公司做的/西安网站建设哪家好