Как распечатать длинное типизированное значение с помощью модификатора размера ввода? - PullRequest
18 голосов
/ 28 сентября 2011

Это в основном то, что я пытаюсь сделать

// ... some code, calculations, what have you ...
long timeToAdd = returnTimeToAddInLongFormat();

// lets output the long type now, and yes i need the width and precision.
System.out.printf("Time to add: %13.10ld", timeToAdd);

Я прочитал большую часть запросов Google по этой теме и думаю, что понимаю, как это сделать концептуально, но JRE постоянно выдает мне UnknownFormatConversionException и говорит, что мой модификатор размера ввода l не работает.

Есть ли другой способ сделать это, или я пропустил что-то маленькое?

1 Ответ

25 голосов
/ 28 сентября 2011

Java обрабатывает все целочисленные значения как d, ld отсутствует. Четный байт и BigInteger имеют тип d. Также предполагается, что целые числа не имеют десятичных разрядов. Если вы хотите показать 10 нулей, вы можете сначала преобразовать в двойные и использовать f

...