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

Java提取整数末尾两位数字 输出前导零丢失问题求助

问题成因
  • 数值类型无前置零属性:取模运算得到的1属于数值类数据,不管是double还是int类型,仅会存储数字的实际大小,前置零属于字符串格式化展示的规则,不属于数值本身的内容,直接打印数值自然不会显示前置零。
  • 数据类型选择错误:使用double类型存储整数存在精度丢失风险,整数处理场景应当优先使用int、long等整型类型。
解决方法

可通过格式化输出的方式补足两位前置零,修改后代码如下:

public class Main {
  public static void main(String[] args) {
    long num = 10000001;
    long digit = num % 100;
    // %02d表示输出2位十进制整数,位数不足时自动在左侧补0
    System.out.println(String.format("%02d", digit));    
  }
}

如果偏好字符串处理的方式也可以使用以下实现:

public class Main {
  public static void main(String[] args) {
    long num = 10000001;
    String numStr = "0" + num;
    // 补0后截取最后两位即可覆盖所有位数场景
    String lastTwoDigits = numStr.substring(numStr.length() - 2);
    System.out.println(lastTwoDigits);
  }
}

两种方案运行后均会输出预期结果01。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 17:15:03