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 :

mettre deux variable dans une seule variable


Sujet :

C#

  1. #1
    Invité
    Invité(e)
    Par défaut mettre deux variable dans une seule variable
    Bonjour , j'ai deux variable de type word
    Nom : Capture.JPG
Affichages : 304
Taille : 11,0 Ko

    je veux les mettre dans une seule variable de façon qu'elle soit égale

    -15812,20971

    Vous avez une idée

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Par défaut
    Bonjour,

    Je pense qu'il faudrait que tu précises ce que tu veux faire car énoncé comme tu le fais, c'est assez incompréhensible.
    Que veux dire je veux les mettre dans une seule variable de façon qu'elle soit égale ?

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2019
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2019
    Messages : 144
    Par défaut
    Bonjour,

    Pourquoi ne pas utiliser un tableau ?

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    struct / class / tuple
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ebastien Voir le message
    Bonjour,

    Je pense qu'il faudrait que tu précises ce que tu veux faire car énoncé comme tu le fais, c'est assez incompréhensible.
    Que veux dire je veux les mettre dans une seule variable de façon qu'elle soit égale ?
    Ce que je veux faire , c'est que par exemple
    si j'ai
    int a = 2;
    int b = 3;

    je veux créer une nouvelle variable, C par exemple de façon qu'elle prends la variable a elle ajoute une virgule puis elle ajoute la variable b étant nombre décimal aprés virgule

    et du coup C = 2,3

    c'est proche de la concaténation de deux chaines de caractères sauf que dans mon cas j'ai des variables Uint16 et non pas des string

  6. #6
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 438
    Par défaut
    Bonjour,
    Tu peux par exemple passer par un decimal.Parse(), en construisant la chaine passée en paramètre.
    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Decimal.Parse($"{Value1}.{Value2}");
    Tu as des exemples dans le lien pour gérer les formats (par exemple le séparateur de décimal).

    Tatayo.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Merci, c'est gentil

  8. #8
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Niveau performances, je ne suis pas certain que passer par 2 ToString() puis un Parse() soit ce qu'il y a de plus performant.
    De plus, l'exemple de Tatayo est trop succint : selon la locale du PC, le séparateur de décimale sera . ou , donc soit il faut déduire ce séparateur du contexte actuel, soit il faut le forcer au moment du Parse().

    Je proposerais plutôt de conserver du cacul numérique uniquement :

    Code csharp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ushort a = 1; // ushort = WORD cf. https://www.displayfusion.com/Discussions/View/converting-c-data-types-to-c/?ID=38db6001-45e5-41a3-ab39-8004450204b3
    ushort b = 2;
     
    // Conversion des valeurs d'entrée dans le type de destination pour éviter des soucis d'arrondis
    decimal af = a; // Le résultat attendu est un décimal (et non un float/dlouble, attention !)
    decimal bf = b;
     
    // Calcul du nombre de décimales de b (ou savoir de combien le décaller)
    decimal nbbdigits = Math.Floor(Math.Log10(b) + 1); // cf. https://stackoverflow.com/questions/4483886/how-can-i-get-a-count-of-the-total-number-of-digits-in-a-number
     
    // Et la magie
    decimal c = a + b / (decimal)Math.Pow(10, nbbdigits - 1);

    En toute logique ça devrait te donner le résultat attendu. Je pense que ce sera plus performant... Utile si tu dois faire ce traitement sur une liste et non unitairement. Sinon la méthode de tatayo sera peut-être plus lisible (mais attention à la locale )

  9. #9
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 438
    Par défaut
    Bonjour,
    Citation Envoyé par StringBuilder Voir le message
    De plus, l'exemple de Tatayo est trop succint : selon la locale du PC, le séparateur de décimale sera . ou , donc soit il faut déduire ce séparateur du contexte actuel, soit il faut le forcer au moment du Parse().
    Je suis tout à fait d'accord, c'est pourquoi j'ai indiqué:
    Citation Envoyé par tatayo Voir le message
    Tu as des exemples dans le lien pour gérer les formats (par exemple le séparateur de décimal).
    Attention, ton code est aussi trop succint, si b vaut 0, tu as une division par 0

    Tatayo.

  10. #10
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Bien vu

  11. #11
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonjour

    Les nombres complexes sont tes amis ..
    Referencer l'assembly System.Numeris
    et ajouter la directive suivante dans ton projet :
    using System.Numeris;
    bon code...

Discussions similaires

  1. Mettre plusieurs champs dans une seule variable
    Par lvsl16210 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 31/05/2018, 17h42
  2. récupération de deux valeurs dans une seule checkbox
    Par khayri dans le forum Struts 1
    Réponses: 2
    Dernier message: 10/04/2007, 10h31
  3. integrer deux requetes dans une seule requete access
    Par laurent.w dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 27/12/2006, 15h11

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