Comment spécifier les milliers et le séparateur décimal utilisé par GWT est NumberFormat
Dans la doc de GWT de la classe NumberFormat (http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/i18n/client/NumberFormat.html) j'ai lu:
"Les préfixes, des suffixes et des différents symboles utilisés pour l'infini, des chiffres, les séparateurs de milliers, les séparateurs décimaux, etc. peut être réglé à des valeurs arbitraires, et ils apparaissent correctement lors de la mise en forme. Cependant, des précautions doivent être prises pour que les symboles et les chaînes ne sont pas en conflit, ou de l'analyse seront pas fiables. Par exemple, le séparateur décimal et le séparateur des milliers doivent être distinctes des personnages, ou de l'analyse sera impossible."
Ma question est, comment faire en sorte que le "." est utilisé comme séparateur de milliers "," comme séparateur décimal indépendamment des paramètres régionaux de l'utilisateur?
En d'autres mots, lorsque j'utilise le modèle "###,###,###.######" Je veux GWT pour formater le double de la valeur 1234567.89 toujours "1.234.567,89" peu importe ce que la locale de l'utilisateur.
OriginalL'auteur user375354 | 2012-03-21
Vous devez vous connecter pour publier un commentaire.
La résolution de ce a fallu un peu de travail. À partir de la docs et source pour NumberFormatter, il semble que seuls les paramètres régionaux peuvent être utilisées pour définir ces valeurs. Ils disent que vous pouvez définir le séparateur de groupe mais aucun de ces exemples a fonctionné pour moi. Alors que vous pourriez penser que le Java façon de le faire en bas serait de travailler depuis GWT émule le DecimalFormat et DecimalFormalSymbols des classes, ils ne sont pas soutenir officiellement. Peut-être qu'ils le seront dans l'avenir. De plus, ils disent dans le LocaleInfo classe que vous pouvez modifier les paramètres régionaux, je n'ai pas trouvé de telles méthodes permettant cette.
Donc, ici, c'est le Hack façon de le faire:
Bonne voie, mais pas encore GWT pris en charge:
Utilisent la virgule formateur:
La sortie:
Dang... bizarre, car il est émulé. Je vais à la poste, GWT devs.
OriginalL'auteur Joseph Lust
Je viens de tomber sur le même problème. Je l'ai résolu comme ceci:
OriginalL'auteur z00bs
Le moyen que j'ai utilisé est de remplacer le GWT est
LocaleInfoImpl
de cette façon:GWT.create(LocaleInfoImpl.class)
getNumberConstant
:Je suis en utilisant 2.8.1 aussi et cela a fonctionné pour moi, peut-être que vous pouvez ajouter un peu de journaux afin de retrouver la trace de l'exécution
J'ai posté ici tout ce que je pouvais: stackoverflow.com/questions/51819228/.... Merci de commenter si vous avez quelques idées.
OriginalL'auteur adoalonso