Есть ли встроенная функция, как setw () в Java? Если нет, как я могу отформатировать это? - PullRequest
0 голосов
/ 20 апреля 2019

Как мне отформатировать строки и числа (double, int и т. Д.)?

Я пробовал% -10s и% 10.2f

String c1="Java";
String c2="Visual Basic";

        System.out.printf("%-30s %d \tPass\n",c1,100);
        System.out.printf("%-30s %d \tFail\n",c2,20);

Я ожидаю, что результат должен быть

Java                          100   Pass
Visual Basic                   20   Fail

, но фактический результат равен

Java                           100  Pass
Visual Basic                       20  Fail

1 Ответ

0 голосов
/ 20 апреля 2019

Ваш код не производит вывод, который вы сказали, он производит:

Java                           100  Pass
Visual Basic                   20   Fail

Если проблема в том, что 20 выровнен с левой стороной от 100, а не с правой, просто добавьте соответствующую ширину к выходному значению числа (например, %3d):

String c1="Java";
String c2="Visual Basic";

System.out.printf("%-30s %3d \tPass\n", c1, 100);
System.out.printf("%-30s %3d \tFail\n", c2, 20);

Это выводит:

Java                           100  Pass
Visual Basic                    20  Fail

Живой пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...