一尘不染

在Java中将前导零添加到数字中?

java

有没有更好的方法来获得此结果?如果num的位数比位数多,则此函数将失败,并且我认为它应该在库中的某个位置(例如Integer.toString(x,“%3d”)等)

static String intToString(int num, int digits) {
    StringBuffer s = new StringBuffer(digits);
    int zeroes = digits - (int) (Math.log(num) / Math.log(10)) - 1; 
    for (int i = 0; i < zeroes; i++) {
        s.append(0);
    }
    return s.append(num).toString();
}

阅读 333

收藏
2020-02-28

共1个答案

一尘不染

tring.format(http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html#syntax)

在你的情况下,它将是:

String formatted = String.format("%03d", num);
  • 0 - to pad with zeros
  • 3 - to set width to 3
2020-02-28