java - 我怎样才能跟踪一个 int 并保持 0

标签 java

Java问题, 假设我有一个数字,例如 0000102,0 很重要,因为它们必须存在。

我怎样才能将这些信息保存在一个 int 中(或者其他一些允许我递增它的方式)

例如,在检查了数字 0000102 之后,它会对其加一并检查 0000103

当我尝试将它保存为 int 时,它只是恢复为 102 并去掉了 0,因此在我搜索数据库时不匹配,因为它不再相同。有谁知道我可以在不删除 0 的情况下执行此操作的方法。谢谢

编辑:

我最终的加法解决方案是这个函数,它接受一个带前导 0 的字符串加一,然后返回该字符串

String nextNum(String s){
    int number =0;
    String newNum =""; 
    int len = s.length();
    int newLength =0;
    for(int i =0; i < s.length()-1; i++){
      if (s.charAt(i) == '0')
        newNum+="0";
        else 
        break;      
    }
     number = Integer.parseInt(s);
     number++;
     newNum +=  String.valueOf(number);
     newLength = newNum.length();
     if(newLength == len)
    return newNum;
     else
    return newNum.substring(1); //incase number was 000099 it doesnt go to   0000100 it goes to   000100 instead 
  }

最佳答案

您可以通过将 printf"%0d" 组合使用字符串格式,如下所示:

    String num = "000123";
    Integer n = Integer.parseInt(num);
    n++;
    int len = num.length();
    System.out.printf("%0" + len + "d", n); //  000124

    // and if you want to store the result
    // back into a string:
    String res = String.format("%0" + len + "d", n);
    System.out.println(res); // 000124

关于java - 我怎样才能跟踪一个 int 并保持 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29160418/

相关文章:

java - Android 中的 Consumer-rules.pro 和 proguard-rules.pro 有什么区别?

java - 获取 BigDecimal 的指数

java - Android : java. lang.UnsatisfiedLinkError...找不到 "lib..."

java - JPA之上的模型框架

java - 在 Struts 2 中隐藏 struts.xml 值的参数

Java Applet,重绘 60 次/秒方法和多边形

java - 线程中出现异常 "main"java.lang.UnsatisfiedLinkError : no JNTIest in java. library.path

java - 将 Spring 1.x 升级到 4.x

java - CalendarView 不显示一个月中的几天

java - EAR 版本 1.4、5、6