2013-06-25 2 views
1

J'ai un haricot avec le champ BigDecimal défini commeMise en forme de BigDecimal au printemps 3

@Digits(integer=3, fraction=2) 
@NumberFormat(style=Style.NUMBER) 
private BigDecimal vatRate = new BigDecimal(0.0f); 

Mise en forme fonctionne bien à l'intérieur forme (je l'utilise <mvc:annotation-driven />) mais en essayant de remplir le tableau avec des valeurs comme

<td> ${c.vatRate} %</td> 

Je reçois la valeur comme 12.30000000000000000000000000000000 % ou 0E-32 %.

J'ai essayé aussi d'utiliser <fmt:formatNumber/> mais je suis arrivé une exception

In &lt;formatNumber&gt;, value attribute can not be parsed into java.lang.Number: " 0E-32" 

En ce moment, il vient à moi seule solution avec getter String spécial pour mon haricot qui fournira la valeur formatée. Mais est-il une solution « agréable » dans la couche de présentation (honorant idéalement @Digits annotation?)

+0

Est-ce que vous essayez d'utiliser l'attribut « pattern » dans fmt : formatNumber (http://www.tutorialspoint.com/jsp/jstl_format_formatnumber_tag.htm) –

+0

J'ai essayé '' mais comme l'indique l'erreur , il y a un problème avec la valeur d'analyse – sodik

Répondre

1

Accidentellement J'ai trouvé suivant answer qui a résolu mon problème:

<td> <spring:eval expression="c.vatRate"/> %</td> 
Questions connexes