2010-01-06 4 views

Antwort

80

Wie Sie vielleicht herausgefunden haben, ist es nicht notwendig, das l Flag anzugeben. Gemäß the docs wird eine Dezimalzahl von d genau wie in C++ angegeben. Also die Antwort ist nur %d.

+0

% d würde nicht ausreichen, wenn der Wert, den Sie drucken möchten, lang ist. In diesem Fall müssen Sie es analysieren. – Milli

+3

@Milli: Während ich über den ersten Satz nicht sicher bin (glaube nicht, dass die Unterschriebenheit eine Überlegung ist), habe ich gerade experimentell bestätigt, dass% d die Länge korrekt formatiert! –

+0

Sie sind richtig! Mein Schlechter .. Ich hatte auch String in der gleichen Aussage mit Long .. Der Fehler wurde von% d% d verursacht, während es% d% s hätte sein sollen. Danke Andrzej! – Milli

37

Verwenden Sie %d für Dezimalstellen (lang, int). Es funktioniert OK. Zum Beispiel:

System.err.println(String.format("%d", 193874120937489387L)); 

... wird gut gedruckt. Lesen Sie weiter auf java.util.Formatter für weitere Details. %d dauert ein long, kein Problem.

+1

FUNKTIONIERT PERFEKT !! –

Verwandte Themen