Streben 2 doesnt tun Teilung, wenn der Wert eine doppelt so hoch ist?
-
05-07-2019 - |
Frage
Ich habe ein sehr seltsames Szenario in struts2.
Wenn ich wie folgt vor:
<s:property value="%{4/2}"/>
Ich erhalte 2.
Aber wenn ich Folgendes tun:
<s:property value="%{2/4}"/>
Ich bekomme eine dicke, fette 0
die Eigenschaft Tag ausgibt immer ein Integer, auch wenn der ausgewertete Wert eine doppelt so hoch ist. Wie kann ich das ändern?
Lösung
Sie tun Integer-Arithmetik, weil Ihre Eingaben ganze Zahlen sind, nicht verdoppelt: zwei von vier geteilt ist Null für ganze Zahlen. Versuchen Sie folgendes:
<s:property value="%{2.0/4.0}"/>
statt.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow