如果value小于9,则显示0作为前缀

时间:2014-03-28 12:30:30

标签: java android

我仍然得到如下文件名:

B-13-4-006.jpg

B-5-7-008.jpg

但是现在我想要将0显示为前缀,如果值小于< 9其他原样,简而言之,想要以双数字显示值,请参阅下面的代码使用文件名

               "B-" + // prefix
                LoginActivity.strEventID + "-" + // eventID 
                LoginActivity.strOperativeID + "-" + // operativeID 
                getNextNumber() + // counter 
                ".jpg" 

我需要,文件名应如下所示:

B-13-04-006.jpg

B-05-07-008.jpg

4 个答案:

答案 0 :(得分:13)

使用String.format("%02d", yournumber);显示0,如果小于10,则显示数字(对于两位数字)。

使用

之类的方法
private String getPaddedNumber(int number) {
    return String.format("%02d", number);
}

您可以阅读Formatter文档了解更多详情。


如何在您的代码中使用

"B-" + // prefix
        getPaddedNumber(LoginActivity.strEventID) + "-" + // eventID 
        getPaddedNumber(LoginActivity.strOperativeID) + "-" + // operativeID 
        getPaddedNumber(getNextNumber()) + // counter 
        ".jpg"

答案 1 :(得分:3)

由于你似乎有字符串需要(可选)填充零,你可以使用不同的方法,而不是通常用来填充整数< / EM>:

public String addPadding(int length, String text) {
    StringBuilder sb = new StringBuilder();

    // First, add (length - 'length of text') number of '0'
    for (int i = length - text.length(); i > 0; i--) {
        sb.append('0');
    }

    // Next, add string itself
    sb.append(text);
    return sb.toString();
}

所以你可以使用:

"B-" + // prefix
    addPadding(2, LoginActivity.strEventID) + "-" + // eventID 
    addPadding(2, LoginActivity.strOperativeID) + "-" + // operativeID 
    getNextNumber() + // counter 
    ".jpg"

填充字符串有很多其他可能性,有关详细信息/可能性,请参阅this question

答案 2 :(得分:1)

public static String convert(int n){
    return n < 10 ? "0" + n : "" + n;
}

答案 3 :(得分:0)

http://openbook.galileocomputing.de/javainsel/javainsel_04_011.html#dodtp6223d54a-d5d8-4ea7-a487-03f519d21c6b

只需使用格式化程序。我认为这是最简单,最准确的方法