Мое решение очень похоже на Tims, но также работает в случае листов без листа - диаграммы
Public Function SheetExists(strSheetName As String, Optional wbWorkbook As Workbook) As Boolean
If wbWorkbook Is Nothing Then Set wbWorkbook = ActiveWorkbook 'or ThisWorkbook - whichever appropriate
Dim obj As Object
On Error GoTo HandleError
Set obj = wbWorkbook.Sheets(strSheetName)
SheetExists = True
Exit Function
HandleError:
SheetExists = False
End Function
.
String.format ( http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html#syntax )
В Вашем случае это будет:
String formatted = String.format("%03d", num);
Начиная с Java 1.5 можно использовать String.format
метод. Например, чтобы сделать то же самое как Ваш пример:
String format = String.format("%%0%dd", digits);
String result = String.format(format, num);
return result;
В этом случае, Вы создаете строку формата с помощью ширины, указанной в цифрах, затем применяя его непосредственно к числу. Формат для этого примера преобразовывается следующим образом:
%% --> %
0 --> 0
%d --> <value of digits>
d --> d
Поэтому, если цифры равно 5, строка формата становится %05d
, который указывает, что целое число с шириной 5 продвижения печати обнуляет. Посмотрите документы Java для String.format
для получения дополнительной информации о спецификаторах преобразования.
Другая опция состоит в том, чтобы использовать DecimalFormat для форматирования числовой Строки. Вот еще один способ сделать задание, не имея необходимость использовать String.format, если Вы застреваете в пред 1,5 мира:
static String intToString(int num, int digits) {
assert digits > 0 : "Invalid number of digits";
// create variable length array of zeros
char[] zeros = new char[digits];
Arrays.fill(zeros, '0');
// format number as String
DecimalFormat df = new DecimalFormat(String.valueOf(zeros));
return df.format(num);
}