Ich möchte eine Frage zu JSP und Java stellen. Ich schreibe die JSP-Seite und hat eine Bean-Klasse. In der Klasse habe ich eine Getter-Funktion, die eine doppelte Var in der Jsp-Seite zurückgibt. Ich habe den folgenden Code verwendet, um die Nummer anzuzeigen.
%Vor%Ich erwarte, dass die Anzeige die folgende sieht
%Vor%Die tatsächliche Anzeige ist jedoch die folgende
%Vor%Ich möchte nur die letzten beiden Ziffern anzeigen. Was soll ich tun, um anzuzeigen, was ich will? Soll ich die JSP-Seite oder die Java-Klassenvariable ändern? Danke.
Sie können DecimalFormat
verwenden, um den Wert als Zeichenfolge zu formatieren, z. B .:
(das Muster nimmt an, dass Sie immer zwei Ziffern im Bruchteil haben wollen, selbst wenn der Bruchteil Null ist. Andernfalls verwenden Sie #0.##
)
Im Allgemeinen wird jedoch empfohlen, die Konstruktoren DecimalFormat
nicht direkt aufzurufen. Stattdessen wird empfohlen, eine der Factory-Methoden von NumberFormat
aufzurufen und das Muster dann wie erforderlich anzupassen, z. B .:
Javadoc einschließlich Beispiele:
Dies sollte in Ihrer JSP-Seite funktionieren:
%Vor%Siehe auch Bozho's Antwort für eine Möglichkeit, dasselbe Ergebnis mit JSTL zu erreichen.
In JSP können Sie dies mit dem JSTL-Tag tun <fmt:formatNumber>
. Sie können entweder pettern
( #0.##
) oder maxFractionDigits="2"
Vermeiden Sie die Verwendung von Java-Code in JSPs - verwenden Sie stattdessen JSTL. Siehe dieses Tutorial . Und siehe diese Frage
Um die letzte Frage zuerst zu beantworten, sollten Sie die JSP-Seite ändern, da Sie ändern möchten, wie die Zahl angezeigt wird und nicht wie die tatsächliche Nummer ist / p>
Um die standardmäßige toString-Methode der Zahl aufzurufen, können Sie dazu DecimalFormat -Objekt, um die Zahl in das gewünschte Format zu konvertieren. In diesem Fall möchten Sie wahrscheinlich Folgendes verwenden:
%Vor%als Formatzeichenfolge.
Allerdings , laut Bozhos Antwort gibt es dafür einen JSTL-Tag, der eine bessere Lösung für Ihr Problem darstellt.