Is there a better way of getting this result? This function fails if num has more digits than digits, and I feel like it should be in the library somewhere (like Integer.toString(x,"%3d") or something)

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();

}