You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何去除long类型正整数末尾的所有尾随零?

去除Long类型正整数末尾所有零的方法

针对正整数的场景,这里提供两种高效的实现方式:

数学运算方法

通过循环对数值取模和除法操作,直接修改数值本身:

public static long stripTrailingZeros(long number) {
    while (number % 10 == 0) {
        number /= 10;
    }
    return number;
}

逻辑说明:每次判断数值末尾是否为0(number % 10 == 0),若是则将数值除以10,直到末尾非0为止。由于输入都是正整数,无需处理数值变为0的边界情况。

字符串处理方法

借助正则表达式快速去除末尾的连续0,再转回Long类型:

public static long stripTrailingZeros(long number) {
    String numStr = Long.toString(number);
    // 匹配末尾一个或多个0并替换为空字符串
    String strippedStr = numStr.replaceAll("0+$", "");
    return Long.parseLong(strippedStr);
}

逻辑说明:先将Long转为字符串,用正则0+$精准匹配末尾的连续0,替换后再转回Long类型。这种方法代码更简洁,适合对正则熟悉的场景。

两种方法都能处理示例中的情况:输入450000000返回45,输入2100返回21;若输入本身无末尾0(如123),会直接返回原数。

内容的提问来源于stack exchange,提问作者ycomp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 07:05:27