Les Allergies
Alimentaires
Posez votre question Signaler

[JAVA] conversion point en virgule

mr.prog 30Messages postés 5 juin 2009Date d'inscription 11 octobre 2011Dernière intervention - Dernière réponse le 1 juil. 2009 à 15:45
Bonjour,
j'ai crée une aplication qui insère des montants dans des tableaux excel, problème : les montants sont ajoutés avec un point, ce qui fait que toutes les formules effectué après ne fonctionne pas, car les montants doivent être avec des virgules
donc je voulais savoir comment faire pour avoir une virgule a la place du point sachant que les options régionales j'ai déja regardé sa ne fonctione pas !
merci
Lire la suite 

[JAVA] conversion point en virgule »

12 réponses
Réponse
+1
moins plus
Quelle API utilises-tu ?
setLocale devrait obligatoirement résoudre tes problèmes si cette API est bien codée

Attention si tu veux utiliser :String.replaceAll() il faut savoir que:

- Le point est un métacaractère qui veut dire "n'importe quoi" il faut l'échaper avec un antislash \ qui lui même doit être échapé dans une chaîne de caractère java \\. Ce qui donne :String.replaceAll("\\.", ","); ou encore :String.replaceAll(java.util.regex.Pattern.quote("."), ","); pour se servir de la fonction qui te retourne la valeur littérale

- Je t'encourage fortement à parvenir à changer les paramètres linguistiques plutôt que de bidouiller salement de la sorte

On ne peut pas t'aider bien plus sans que tu précises ta méthode de manipulation du fichier excel (API comme Apache Jakarta POI ? Lecture brute ? Parser XML ?)

Cheers
Ajouter un commentaire
Réponse
+1
moins plus
Montre moi le code que tu as utilisé pour le setLocale
Ajouter un commentaire
Réponse
+1
moins plus
c'est à dire ? j'ai essayé ta méthode avec le worbook en français mais j'observe aucun changement
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

Moi, c'est plutôt C# mais c'est kifkif.

Ça m'a l'air plutôt simple: transforme tes montants en string et fait un replace() pour transformer tes . en , et envoie à Excel.
Ajouter un commentaire
Réponse
+0
moins plus
j'ai essayé mais sa ne fonctionne pas...
Ajouter un commentaire
Réponse
+0
moins plus
merci pour les réponses déja formulé
j'utilise jExcel
Ajouter un commentaire
Réponse
+0
moins plus
mr.prog pour un monsieur de la programmation tu ne m'as pas l'air très habitué aux us et coutumes des forums d'entre aide.
Généralement, on commence par tester les solutions avant de revenir, par simple respect pour ceux qui t'ont répondu :-)

As tu essayé avec l'antislash avant le point ?
As tu essayé en configurant l'instance de ton WorkBook en française ? Il faut par exemple appeler la méthode comme cela
WorkBookSettings parametresWorkBook = new WorkBookSettings();
parametresWorkBook.setLocale(Locale.FRENCH)

On passera ensuite parametresWorkBook en paramètre de la méthode createWorkBook de ton :WritableWorkBook
Ajouter un commentaire
Réponse
+0
moins plus
désolé...sa ne marchait pas, mais j'aurai du prendre le peine de te le dire, je vais essayé le worbook par contre je te redis
Ajouter un commentaire
Réponse
+0
moins plus
merci, mais sa ne marche pas...
Ajouter un commentaire
Réponse
+0
moins plus
dans la console, cela s'affiche bien avec une virgule grâce à la fonction replace mais pas dans le fichier Excel
je te montre ce que j'ai fait
if (expl.contains(ScellulePA))
{
	String reqPA  = REQUETE
						
	ResultSet rsPA = stmt.executeQuery(reqPA);
						
	while (rsPA.next())
	{
	logger.info("CA = " + rsPA.getString(1).replaceAll("\\." , ","));
	Label contenuCellulle = new Label(colonnePA,ligneDebut + i,rsPA.getString(1).replaceAll("\\." ,                   ","),cellFormat);
	feuilleXls.addCell(contenuCellulle);
       }
	rsPA.close();
}
Ajouter un commentaire
Réponse
+0
moins plus
en faite, la virgule apparait bien, c'était une petite erreur de ma part dans le replace mais maintenant les formules ne sont pas rafraichies et donc ne donne pas les bons montants !
Ajouter un commentaire
Réponse
+0
moins plus
Montre moi veut dire copie colle moi (le code autour du workbook à 5/10 lignes près)
Ajouter un commentaire
Ce document intitulé « [JAVA] conversion point en virgule » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?