C++-Äquivalent von %ld in Java für String.format()

Lesezeit: 1 Minute

Benutzer-Avatar
Milli

Zum Beispiel, %11.2lf in C++ wird %11.2f auf Java. Wie wäre es mit dem Langformat?

Benutzer-Avatar
Andrzej Doyle

Wie Sie vielleicht herausgefunden haben, ist es nicht notwendig, die anzugeben l Flagge. Entsprechend die Dokumenteeine Dezimalzahl wird durch angegeben d genau wie in C++. Die Antwort ist also gerecht %d.

  • %d würde nicht ausreichen, wenn der zu druckende Wert lang ist. In diesem Fall müssen Sie es parsen.

    – Milli

    6. Januar 2010 um 8:47 Uhr

  • @Milli: Obwohl ich mir beim ersten Satz nicht sicher bin (glaube nicht, dass Vorzeichen eine Überlegung sind), habe ich gerade experimentell bestätigt, dass %d Longs korrekt formatieren wird!

    – Carl Smotricz

    6. Januar 2010 um 8:51 Uhr


  • Du hast Recht! Mein Fehler.. Ich hatte auch String in derselben Anweisung mit long.. Der Fehler wurde durch %d %d verursacht, obwohl es %d %s hätte sein sollen. Danke Andrzej!

    – Milli

    6. Januar 2010 um 8:58 Uhr

  • @CarlSmotricz ist richtig, Signiertheit hat nichts damit zu tun. Ich habe die Frage aufgeräumt, um das zu entfernen.

    – Eloff

    6. April 2014 um 13:10 Uhr

  • String.format() löst java.util.UnknownFormatConversionException zur Laufzeit aus, wenn Sie das ‘l’-Flag mit dem ‘d’-Flag verwenden (z. B. %ld) (auf Java 7 demonstriert).

    – Sdenham

    1. Dezember 2014 um 17:56 Uhr

Verwenden %d für Dezimalzahlen (long, int). Es funktioniert in Ordnung. Z.B:

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

… wird gut drucken. Lesen Sie weiter java.util.Formatter für mehr Details. %d wird ein nehmen longKein Problem.

  • FUNKTIONIERT PERFEKT!!

    – Rahul Rastogi

    8. Februar 2017 um 9:21 Uhr

1180390cookie-checkC++-Äquivalent von %ld in Java für String.format()

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy