java - String.format() 获取最大值

标签 java string integer format

我实现了一个计数器方法,它始终返回一个递增的数字。但用户可以给出愿望format 、 2 位数字、 3 位数字或任何他想要的数字。 格式是字符串的标准 String.format() 类型,如 %02d%5d。当达到最大值时,计数器应重置为 0。

如何找出给定 format 可以表示的最大值?

int counter = 0;
private String getCounter(String format){
    if(counter >= getMaximum(format)){
        counter = 0;
    }
    else {
        counter++;
    }
    return String.format(format, counter);
}

private int getMaximum(String format){
    //TODO ???
    //Format can be %02d => should return 100
    //Format can be %05d => should return 100000

}

最佳答案

尚未验证此代码,但类似的内容应该适用于错误检查

    String str = fullresultText.replace ("%", "").replace("d", "");
    maxVal = Math.pow (10, Integer.parseInt (str));

关于java - String.format() 获取最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19110103/

相关文章:

c - va_args 不接受 C 中的有符号整数

java - 为什么scanner.hasNextInt()方法需要一个字母来开始处理数字?

java - 为什么整数数据类型会悄悄溢出而不是抛出异常

Java 流口水 : Cast object with possible null values to double & then compare

java - 将 Hibernate 5.2 与 Spring 框架 4.x 集成

java - Android TextView 计时器

java - 我可以将字符串转换为整数或为其赋值吗?

c - 从字符串错误中提取字符

arrays - 在给定的整数数组中找到一个以偶数频率出现的单个整数,而所有其他整数以奇数频率出现

java - 如何使用 JNLP 文件包含依赖项 jar?