Conversion de valeurs numériques de varchar vers float?

firas_tn Messages postés 128 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 19 avril 2007 - 29 avril 2005 à 15:31
cs_RMI Messages postés 305 Date d'inscription vendredi 18 juillet 2003 Statut Membre Dernière intervention 2 août 2010 - 2 mai 2005 à 17:43
Salut a tous,
j'ai une table ou il ya des valeurs numériques et lkeurs type est varchar mais le probleme lors de la connexion a la base il ya une instruction qui considere ces valeurs float qui est la suivante:
Single f;


f = Convert.ToSingle(ds3.Tables[0].Rows[0]["low_frequency"]);

et quand je veux convertir la colonne de la table en float c'est impossible donc comment modifier cette instruction pour marcher avec le type varchar?
Merci
A voir également:

5 réponses

cs_RMI Messages postés 305 Date d'inscription vendredi 18 juillet 2003 Statut Membre Dernière intervention 2 août 2010 2
2 mai 2005 à 14:32
si ta cellule contient une chaine qui est effectivement un float, essai float.Parse(maChaine)
exp float.Parse("3.3");



Attention à la virgule ou au point qui diffèrent suivant les options régionnale du systeme.
Théo
0
firas_tn Messages postés 128 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 19 avril 2007
2 mai 2005 à 14:54
enfait c de ma faute, au niveau de sql server j'ai changé le ype de colonnes de float vers varchar car en float je n'ai pas pu entrer des valeurs avec la virgule et quand j'ai réglé ça , j'ai voulu la reconvertir en float, il me renvoi tjrs un msg d'erreur impossible de convertir! je ne sais pas quoi faire mnt surtout que le code en asp c# considere ces deux colonnes tant que float
0
cs_RMI Messages postés 305 Date d'inscription vendredi 18 juillet 2003 Statut Membre Dernière intervention 2 août 2010 2
2 mai 2005 à 17:29
Je ne sais pas si ceci pourra t'aider, mais celà permet de forcer le séparateur de décimale uniquement pour ton applic.



/// <summary>

/// Gestion du séparateur des décimales

/// </summary>

/// "." ou ","


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;


//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
firas_tn Messages postés 128 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 19 avril 2007
2 mai 2005 à 17:37
on peut pas faire quelque chose de plus simple avec sql server ?
0

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

Posez votre question
cs_RMI Messages postés 305 Date d'inscription vendredi 18 juillet 2003 Statut Membre Dernière intervention 2 août 2010 2
2 mai 2005 à 17:43
J'en sais rien du tout, je ne suis pas un spécialiste de SQL Server, désolé
Théo
0
Rejoignez-nous