IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

utiliser sqldbtype.float dans c#


Sujet :

C#

  1. #1
    Membre éclairé Avatar de salihovic
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Par défaut utiliser sqldbtype.float dans c#
    salut;
    j'aime utiliser le type sqldbtype.float dans une application pour faire un cast
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.Data.SqlDbType.Float nombre= (System.Data.SqlDbType.Float)floats.Text;
    sa me retourne un erreur
    et je ne sait pas comment utiliser ce type car pour le float de c# il est trop limité en taille par rapport a celui de sql server
    mon but c'est de faire un contrôle sur la saisie pour transférer le contenu du textbox à la base sql server
    et j'aime faire un erreurprovider si l'utilisateur entre une valeur invalide j'affiche l'erreur.
    avec les regex j'ai pas pu faire car c'est un peut compliqué (il y a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [^0-9[,]?[0-9][E+][^0-9{1,3}]
    )
    et je c pas coment faire exactement
    si quelqu'un a une idée merci de la donner

  2. #2
    Membre chevronné
    Profil pro
    Développeur freelance
    Inscrit en
    Août 2006
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur freelance

    Informations forums :
    Inscription : Août 2006
    Messages : 453
    Par défaut
    Pour transformer un string en float il faut déjà le parser.
    voici un exemple basique avec un float.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    string fl = "12.12";
    float f = float.Parse(fl);


    Quand j'essaie avec "System.Data.SqlDbType.Float", il me retourne que c'est un champ et non un type. Alors je sais pas si c'est réalisable.

    Mosco

  3. #3
    Membre éclairé Avatar de salihovic
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Par défaut
    merci pour ton aide
    mais essay de me parser cete valeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    1,32132123123655E+308
    si tu réussi je serai bien remerciant

  4. #4
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Pourquoi tu n'utilises pas un Decimal alors ?
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  5. #5
    Membre éclairé Avatar de salihovic
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Par défaut
    sa marche pas
    j'ai testé et sa marche pas c'est pour cela que j'ai vraiment un problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    try
                            {
                                Decimal ui = Decimal.Parse(mone.Text);
                                errorProvider1.SetError(mone, "");
                            }
                            catch (Exception es)
                            {
                                errorProvider1.SetError(mone, "Not a money value.");
                            }
    quand je fait sa il n'accepte pas le E donc je sait pas comment faire.
    je connais que decimal a une précision une mantisse et un exposant mais bon comment déclarer pour un cast je ne sait pas

  6. #6
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Citation Envoyé par salihovic Voir le message
    sa marche pas
    j'ai testé et sa marche pas c'est pour cela que j'ai vraiment un problème
    Ce n'est pas que ça ne marche pas (ce qui déjà ne veut rien dire), c'est surtout que tu ne sais pas te servir de la méthode Parse.
    En regardant dans la documentation du framework, tu aurais vu que Parse possède plusieurs surcharges. L'une d'entre elles accepte comme paramètre une enum (byte) de type NumberStyles. Cette enum contient une valeur AllowExponent.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  7. #7
    Membre éclairé Avatar de salihovic
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Par défaut
    bon j'ai fait sa mais sa reste petit comme taille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    try
                            {
                                Decimal  d=Decimal.Parse(floats.Text,NumberStyles.Float);
                                errorProvider1.SetError(floats, "");
                            }
                            catch (Exception f)
                            {
     
                                errorProvider1.SetError(floats, "Not a flaot value.");
     
                            }
    car le type float de sql server contient 308 comme exposant
    est c largement différent
    même avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    try
                            {
                                float d=float.Parse(floats.Text,NumberStyles.Float);
                                errorProvider1.SetError(floats, "");
                            }
                            catch (Exception f)
                            {
     
                                errorProvider1.SetError(floats, "Not a flaot value.");
     
                            }
    c'est insuffisant

  8. #8
    Membre éclairé Avatar de salihovic
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Par défaut
    les deux s'arrêtes a 1,2E+38 max supposons

Discussions similaires

  1. [MySQL] Utiliser des valeur SQL de type float dans une bdd pour boutique/panier
    Par sybil dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/03/2011, 15h45
  2. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38
  3. Réponses: 3
    Dernier message: 11/03/2004, 10h58
  4. impossible d'utiliser ma fonction dans un insert
    Par caramel dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/04/2003, 15h04
  5. Utilisation de Pointeurs dans API windows
    Par Drooxy dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 13/03/2003, 22h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo