je veux faire l'opération arithmétique sur jsp. J'utilise tag entretoises tag libconvertir nombre entier (long) à double en jsp
Voici le code:
<s:set name="value1" value ="%{0.0}" />
<s:set name="value2" value ="%{0.0}" />
<s:set name="percent" value ="%{0.0}" />
<s:iterator>
<s:set name="value1" value ="%{#value1+ someIntegerValue1}" />
<s:set name="value2" value ="%{#value2+ someIntegerValue2}" />
</s:iterator>
<s:set name="percent" value ="%{(#value1*100.0)/#value2}" />
<fmt:formatNumber type="number" maxFractionDigits="2" minFractionDigits="2" value="${percent}" />
maintenant la dernière ligne arrondit toujours à une valeur entière
comme si valeur1 = 3, valeur2 = 31. alors pour cent devrait être égal à (3 * 100)/31 = 9,68
mais les sorties damn thing à 9,00
<s:set name="percent" value ="%{(3*100.0)/31.0}" />
<fmt:formatNumber type="number" maxFractionDigits="2" minFractionDigits="2" value="${percent}" />
alors il sort correctement 9,68: S
quelqu'un peut-il s'il vous plaît aider ?? Maintenant, quand je hardcode cette expression
Je me suis cogné la tête sur ce sujet depuis longtemps, googling pour plus de 2-3 heures ne m'a rien.
bien que someIntegerValue1 et someIntegerValue2 ont été ajoutés dans value1 et value2. et il y a "non" moyen (je me suis cogné la tête contre) pour lancer ou forcer l'expulsion de jsp pour donner une réponse de virgule flottante à partir d'une expression de jsp "non-flottante" points. A la fin, j'ai dû changer le bean et changer le type de someIntegerValue1 et someIntegerValue2 en Double. cela l'a résolu et la réponse est correcte. Merci pour la réponse BalusC – Ali