Ralala WriteXml met des points au lieu des virgule pour les float ou double..

Résolu
cs_Smalo Messages postés 36 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 11 décembre 2006 - 20 oct. 2005 à 14:18
cs_Smalo Messages postés 36 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 11 décembre 2006 - 24 oct. 2005 à 12:02
Salut,
j'ai une question .. qui est un problème à la base mais bon en bidouillant je peux m'arranger.

En bref jai un dataset avec des datatable et des valeurs float.
le pb est que quand je fais mondataset.WriteXml(file); .. ça marche biensur mais les floats
sont écris en : 122.20 et non 122,20 en gros il me met un point au lieu d'une virgule.
du coup quand je relit tout le dataset et que grace à un adapter je le met automatiquement dans la base
il me fait une erreur de parse car il aime pas le point. le pb est que j'ai pas accès à la methode parse qu'il utilise et
du coup je peux pas utiliser de NumberFormatInfo.

Si j'ai pas était assez clair.. j'essaierai de faire mieux.. pour résumé quand je fais un WriteXml il met des points
pour les float et ça c'est pas bien du tout...

A+

7 réponses

cs_Smalo Messages postés 36 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 11 décembre 2006
24 oct. 2005 à 12:02
Merci pour vos réponses je vais essayer de bricoler ;)
À Bientôt.
3
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
20 oct. 2005 à 16:39
a moins que tu passe ta machine en format point...cf options regionales...

nou sperso c'est ce que l'on fait ^^

ca evite c pb d'import / export...




<HR>
Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
20 oct. 2005 à 17:15
Arthenius -> Donc un Changement de Culture via CultureInfo devrait faire l'affaire non ?

Pas le courage de tester

Mx
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
20 oct. 2005 à 17:24
oui probablement...



<HR>
Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
0

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

Posez votre question
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
20 oct. 2005 à 21:38
Salut,
Je suis assez d'accord avec les deux postes ci-dessus.
Pour changer la culture du Thread courrant, tu peux essayer de faire quelque chose comme ceci :

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(myCulture); // myCulture example : "de-CH"

La valeur myCulture peut être trouvé ici (MSDN en local) : ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.1033/cpref/html/frlrfsystemglobalizationcultureinfoclasstopic.htm

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
0
cs_RMI Messages postés 305 Date d'inscription vendredi 18 juillet 2003 Statut Membre Dernière intervention 2 août 2010 2
24 oct. 2005 à 10:22
Voila la fonction qui me sert à changer de séparateur

public static void DecimalSeparator(string _sSeparateur)

{

//On récupère le séparateur qui est utilisé sur la station de travail

string
sOldDecimalSeparator =
Application.CurrentCulture.NumberFormat.NumberDecimalSeparator;



//On compare le séparateur instancié avec le point



if(sOldDecimalSeparator != _sSeparateur)


{


System.Globalization.CultureInfo cultureClone;


//Code un peu louche il faut avouer, mais il faut
faire avec car le framework pose problème


//ici; en effet, il faut cloner la culture pour
pouvoir modifier les paramètres de l'application

//car sinon la culture de base est en lecture seule.


cultureClone =
(System.Globalization.CultureInfo)Application.CurrentCulture.Clone();


cultureClone.NumberFormat.NumberDecimalSeparator =
_sSeparateur;


cultureClone.NumberFormat.NumberGroupSeparator = " ";


//Là, on affecte l'application cloné à celle où l'on
travaille


//C'est un passage flou car en fait, l'appli est en
mode readonly et l'on ne peut pas

//la modifier directement, d'où cette affectation

Application.CurrentCulture = cultureClone;

}

}

Théo
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
24 oct. 2005 à 11:25
j'aime bien tes commentaires




<HR>
Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
0
Rejoignez-nous