1

Тема: Формат строки java

String a = String.format("%064d",12);
Виводиться те що треба
0000000000000000000000000000000000000000000000000000000000000012,
Чи можна якось зроюити те саме, але замість 12(int) передавати "12"(String), але тоже, щоб спочатку виводилися нулі?

2 Востаннє редагувалося koala (01.08.2022 10:58:43)

Re: Формат строки java

Від модератора: я видалив зайвий дубль теми.

Ні, звичайним String.format не можна, це не має сенсу. Нулі перед числом потрібні досить часто (як і пробіли перед стрічкою). А от інші символи перед стрічкою - що, для кожного свій формат вигадувати? А якщо знадобиться іншою стрічкою забивати місце, на кшталт

-=-=-=-=-=-=-=12=-=-=-=-=-=-=-=-=

Якщо вам треба додавати нулі перед стрічкою - або конвертуйте її в число, якщо певні, що вона містить саме число, або створіть додаткову стрічку з нулів за допомогою методі repeat, десь так:

String twelve = "12";
String zeroes = "0".repeat(64-twelve.length());
String a = String.format("%s%s", zeroes, twelve);
Подякували: leofun011

3 Востаннє редагувалося dot (01.08.2022 11:28:36)

Re: Формат строки java

Jakščo same z String.format(), to jak vže @koala zaznačyv, treba speršu peretvoryty na int.

Jakščo treba prosto podôbnu funkciju, to je StringUtils.leftPad() vôd Apache Commons, ščo maty jme desj takyj vyhljad:

import org.apache.commons.lang.StringUtils;
…

String a = StringUtils.leftPad("12", 64, "0")
Подякували: koala, leofun01, Ostapko3