[JAVA] conversion point en virgule

Fermé
mr.prog Messages postés 30 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 11 octobre 2011 - 1 juil. 2009 à 11:35
Herezia Messages postés 70 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 28 août 2014 - 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
A voir également:

12 réponses

Herezia Messages postés 70 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 28 août 2014 11
1 juil. 2009 à 12:08
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
2
Herezia Messages postés 70 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 28 août 2014 11
1 juil. 2009 à 14:31
Montre moi le code que tu as utilisé pour le setLocale
1
mr.prog Messages postés 30 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 11 octobre 2011 3
1 juil. 2009 à 14:33
c'est à dire ? j'ai essayé ta méthode avec le worbook en français mais j'observe aucun changement
1
Cisco_31 Messages postés 131 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 28 juin 2013 16
1 juil. 2009 à 11:42
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mr.prog Messages postés 30 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 11 octobre 2011 3
1 juil. 2009 à 11:49
j'ai essayé mais sa ne fonctionne pas...
0
mr.prog Messages postés 30 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 11 octobre 2011 3
1 juil. 2009 à 13:38
merci pour les réponses déja formulé
j'utilise jExcel
0
Herezia Messages postés 70 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 28 août 2014 11
1 juil. 2009 à 13:49
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
0
mr.prog Messages postés 30 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 11 octobre 2011 3
1 juil. 2009 à 13:54
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
0
mr.prog Messages postés 30 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 11 octobre 2011 3
1 juil. 2009 à 14:02
merci, mais sa ne marche pas...
0
mr.prog Messages postés 30 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 11 octobre 2011 3
1 juil. 2009 à 14:17
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();
}
0
mr.prog Messages postés 30 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 11 octobre 2011 3
1 juil. 2009 à 15:06
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 !
0
Herezia Messages postés 70 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 28 août 2014 11
1 juil. 2009 à 15:45
Montre moi veut dire copie colle moi (le code autour du workbook à 5/10 lignes près)
0