一行代码搞定数字格式化输出 (java正则)

整数转二进制格式化输出

测试代码

  • 值为1024
  • 转为二进制并四位一组进行显示
//正则正向预查
//正则反向预查
//定位替换点
int num=1024;
String numStr = Integer.toBinaryString(num).replaceAll("(?=(\\d{4})+$)(?<=\\d)"," ");
System.out.println(numStr);

//输出结果
100 0000 0000

浮点数格式化输出成金额

测试代码

  • 值为10438.12345
  • 保留两位小数点
  • 整数部分三个一组逗号分割
//保留两位小数点
//正则正向预查
//正则反向预查
//定位替换点
double price=10438.12345;
String priceStr = String.format("%.2f", price).replaceAll("(?=(\\d{3})+\\.)(?<=\\d)", ",");
System.out.println(priceStr);

//输出结果
10,438.12

正数数字位数补齐0

测试代码

  • 值为123
  • 补齐8位进行输出
//正向补齐空格
//替换所有空格为0
int zsNum=123;
String zsNumStr = String.format("%8s", zsNum).replaceAll(" ", "0");
System.out.println(zsNumStr);

//输出结果
00000123
上一篇:Day04 python 面向对象编程基础


下一篇:Java中String的替换函数replace()、replaceAll()、replaceFirst()的区别 && 1678. 设计 Goal 解析器