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

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.lryc.cn/news/2394144.html

相关文章:

  • 79. 单词搜索-极致优化,可行性剪枝和顺序剪枝
  • ICDMC 2025:创新媒体模式,迎接数字时代的挑战
  • 深入解析C#多态性:基类引用、虚方法与覆写机制
  • SoftThinking:让模型学会模糊思考,同时提升准确性和推理速度!!
  • C++中 newdelete 与 mallocfree 的异同详解
  • 晨控CK-UR08与欧姆龙PLC配置Ethernet/IP通讯连接操作手册
  • STM32入门教程——LED闪烁LED流水灯蜂鸣器
  • 鸿蒙OSUniApp 实现的数据可视化图表组件#三方框架 #Uniapp
  • Tornado WebSocket实时聊天实例
  • HarmonyOS鸿蒙与React Native的融合开发模式以及能否增加对性能优化的具体案例
  • 化学分析原理。
  • 开源即战力!从科研到商用:Hello Robot 移动操作机器人Stretch 3多模态传感融合(RGB-D/激光/力矩)控制方案
  • 元胞自动机(Cellular Automata, CA)
  • 智能手表单元测试报告(Unit Test Report)
  • 微深节能 码头装卸船机定位与控制系统 格雷母线
  • 基于matlab遗传算法和模拟退火算法求解三维装箱优化问题
  • 在Spring Boot中集成Redis进行缓存
  • Python实现P-PSO优化算法优化循环神经网络LSTM分类模型项目实战
  • OSG编译wasm尝试
  • Scratch节日 | 龙舟比赛 | 端午节
  • Ubuntu搭建DNS服务器
  • electron开发百度桌面应用demo及如何打包应用
  • 关于用Cloudflare的Zero Trust实现绕过备案访问国内站点说明
  • 2025年DDoS混合CC攻击防御全攻略:构建智能弹性防护体系
  • 方正字库助力华为,赋能鸿蒙电脑打造全场景字体解决方案
  • STM32 串口通信①:USART 全面理解 + 代码详解
  • 【Java Web】速通CSS
  • List 源码翻译
  • NHANES指标推荐:ALI
  • ChatGPT与认知科学:人机协同的未来图景