java如何去掉0
去除字符串中的零
在Java中,若需去除字符串中的零(例如"1020"变为"12"),可以使用replaceAll()方法替换所有零字符:
String str = "1020";
String result = str.replaceAll("0", "");
System.out.println(result); // 输出: 12
去除数字前导零
若需去除数字前导零(如"00123"变为"123"),可转换为整数后转回字符串:

String numStr = "00123";
String trimmed = String.valueOf(Integer.parseInt(numStr));
System.out.println(trimmed); // 输出: 123
保留浮点数有效零
处理浮点数时需区分无效零(如"12.00"保留为"12")和有效零(如"12.01"保持不变):

String floatStr = "12.00";
if (floatStr.endsWith(".00")) {
floatStr = floatStr.substring(0, floatStr.indexOf("."));
}
System.out.println(floatStr); // 输出: 12
使用正则表达式精准匹配
通过正则表达式可灵活处理不同场景,例如仅去除末尾的零:
String decimal = "12.300";
decimal = decimal.replaceAll("(\\.\\d*?)0+$", "$1").replaceAll("\\.$", "");
System.out.println(decimal); // 输出: 12.3
处理科学计数法中的零
科学计数法字符串(如"1.20E3")需结合BigDecimal格式化:
String sciNum = "1.20E3";
BigDecimal bd = new BigDecimal(sciNum);
String plain = bd.stripTrailingZeros().toPlainString();
System.out.println(plain); // 输出: 1200






