Wenn Sie das folgende Bit versuchen werden Sie bekommen -0jstl negative Null
<c:set var="demo" value="-0.04" />
<fmt:formatNumber maxFractionDigits="1" value="${demo}" var="demo" />
aber wenn Sie testen, ob weniger als 0 es wahr, sagt
<c:if test="${demo < 0.00}">...</c:if>
Wie kann ich um dieses gehen? Es scheint nicht Sinn zu machen, 0 ist gleich -0, ich hatte es in der Algebra beweisen ... In this post zeigen sie auf eine IEEE-Referenz, aber ich kann das Problem nicht lösen
EDIT: Danke Für den Kommentar gibt es da einen Fehler im Codebeispiel. Ich weise der Demo-Variable den gerundeten Wert zu. Und die Ausgabe ist nicht 0, aber -0, habe ich es versucht
Was ist das Problem? Sie haben einer Variablen einen Wert von -0,04 zugewiesen, und dann geben Sie sie auf eine Dezimalstelle gerundet aus (die 0.0 ausgibt). Dann testen Sie, ob der ursprüngliche Wert, -0.04, kleiner als 0,00 ... ist, was wahr ergibt. – patros
Es gab einen Fehler im Code, behoben. Und es gibt keine 0, Ausgänge -0 – Hartimer
Dibs für 'Negative Zero' als Bandname aus! –