Doppelte dezimale Formatierung in Java
Ich habe einige Probleme mit der Formatierung der Nachkommastellen einer double. Wenn ich ein double-Wert, z.B. 4.0, wie formatiere ich die Dezimalstellen so, dass es 4.00 statt?
Kommentar zu dem Problem - Öffnen
@NullUserException ...was?
Versuchen Sie, mit
- String.format()
oder java.text.Format
. mögliche Duplikate von Zeige nur zwei Ziffern nach dezimal
Möglich, Duplikat der Beste Weg, um Format-eine Double-Wert auf 2 Dezimalstellen
InformationsquelleAutor der Frage Christoffer | 2012-10-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine Möglichkeit wäre mit NumberFormat.
Ausgabe:
4.00
InformationsquelleAutor der Antwort kosa
Mit Java 8 verwenden, können Sie
format
Methode..: -f
ist fürfloating
Punkt Wert..2
nach dezimal bezeichnet, die Anzahl der Dezimalstellen nach.
Für die meisten Java-Versionen, die Sie verwenden können
DecimalFormat
: -InformationsquelleAutor der Antwort Rohit Jain
Verwenden String.format:
String.format("%.2f", 4.52135);
InformationsquelleAutor der Antwort Vincent Mimoun-Prat
Hilfe Von String.format, können Sie dies tun:
Beachten Sie das Komma, das macht diese anders aus @Vincent die Antwort
Ausgabe:
$52,000.00
Eine gute Ressource für die Formatierung der offizielle java-Seite zu dem Thema
InformationsquelleAutor der Antwort ojonugwa ochalifu
Können Sie immer verwenden Sie die statische Methode
printf from System.out
- Sie würden dann implementieren die entsprechenden formatter; das spart heap Raum, in dem andere Beispiele erforderlich, Sie zu tun.Ex:
Spart heap space, das ist ein ziemlich großer bonus ist, dennoch halte ich die Meinung, dass in diesem Beispiel viel leichter zu handhaben als jede andere Antwort, vor allem da die meisten Programmierer kennen die printf-Funktion aus C (Java änderungen der Funktion/Methode leicht aber).
InformationsquelleAutor der Antwort Lewis Robbins
InformationsquelleAutor der Antwort Subhrajyoti Majumder
InformationsquelleAutor der Antwort Michael Zilbermann
Funktioniert zu 100%.
InformationsquelleAutor der Antwort Mayank Parihar
Eine alternative Methode ist die Verwendung der
setMinimumFractionDigits
Methode aus derNumberFormat
Klasse.Hier können Sie grundsätzlich festlegen, wie viele zahlen, die Sie wollen, erscheinen nach dem Komma.
So einen input von
4.0
produzieren würde4.00
- vorausgesetzt, Ihre angegebene Menge 2.Aber, wenn Ihr
Double
Eingabe enthält mehr als die angegebene Menge, es wird der minimum-Wert angegeben, dann fügen Sie eine weitere Dezimalstelle gerundet, oben/untenBeispielsweise
4.15465454
mit einem Mindestbetrag von 2 angegeben wird, erzeugen4.155
Versuchen Sie es online
InformationsquelleAutor der Antwort notyou
Ersten import
NumberFormat
. Dann fügen Sie diese:Dadurch erhalten Sie zwei Dezimalstellen, und setzen Sie ein Dollarzeichen, wenn der Umgang mit der Währung.
InformationsquelleAutor der Antwort Nick
Können Sie es tun, wie folgt:
InformationsquelleAutor der Antwort flosk8
Ich weiß, dies ist ein altes Thema, aber Wenn du wirklich gerne haben, der Punkt statt dem Komma, einfach nur speichern Sie Ihr Ergebnis als X,00 in einen String und dann einfach nur ändern Sie es für einen Zeitraum, so dass Sie den X. 00
Der einfachste Weg ist nur zu verwenden, ersetzen.
Ist die Ausgabe X. 00 Sie wollte. Auch machen es einfach, Sie können tun es alle, und speichern Sie es in eine double-variable:
Ich weiß, dass diese Antwort nicht hilfreich jetzt, aber vielleicht jemand, der prüft, in diesem forum wird sich für eine schnelle Lösung wie diese.
InformationsquelleAutor der Antwort Edgar Rivas