当前位置: 首页 > 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
http://www.xdnf.cn/news/743401.html

相关文章:

  • 【Bluedriod】蓝牙协议栈GD模块(GD_SHIM_MODULE)启动机制及源码解析
  • LXQt修改开始菜单高亮
  • 第12讲、Odoo 18 权限控制机制详解
  • kafka核心组件
  • Java数据结构之ArrayList(如果想知道Java中有关ArrayList的知识点,那么只看这一篇就足够了!)
  • MySql(九)
  • 【stm32开发板】单片机最小系统原理图设计
  • 基于大模型的数据库MCP Server设计与实现
  • 自动驾驶系统研发系列—端到端自动驾驶:愿景、陷阱与现实博弈
  • 跟单业务并发量分析
  • MonitorSDK_性能监控(从Web Vital性能指标、PerformanceObserver API和具体代码实现)
  • vue3 el-input type=“textarea“ 字体样式 及高度设置
  • 《Effective Python》第六章 推导式和生成器——避免在推导式中使用超过两个控制子表达式
  • 生活小记啊
  • 核心机制三:连接管理(三次握手)
  • Ollama:本地大模型推理与应用的创新平台
  • 2025年- H62-Lc170--34.在排序数组中查找元素的第一个和最后一个位置(2次二分查找,标记向左寻找,标记向右寻找)--Java版
  • 记一次idea中lombok无法使用的解决方案
  • 设计模式——简单工厂模式(创建型)
  • 【深度学习】16. Deep Generative Models:生成对抗网络(GAN)
  • Windows上用FFmpeg采集摄像头推流 → MediaMTX服务器转发流 → WSL2上拉流播放
  • GIS常见数据及主要应用综述:类型解析、应用案例与未来趋势全景解读
  • 通过mqtt 发布温湿度
  • 【机器学习基础】机器学习入门核心算法:XGBoost 和 LightGBM
  • 江科大IIC读取MPU6050hal库实现
  • C++中 newdelete 与 mallocfree 的异同详解
  • 【深度学习】14. DL在CV中的应用章:目标检测: R-CNN, Fast R-CNN, Faster R-CNN, MASK R-CNN
  • 【Linux 学习计划】-- 进程地址空间
  • 使用 Let‘s Encrypt 和 Certbot 为 Cloudflare 托管的域名申请 SSL 证书
  • Reactor 和 Preactor