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 :

Conversion int to int[]


Sujet :

C#

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2016
    Messages : 4
    Points : 0
    Points
    0
    Par défaut Conversion int to int[]
    bonjour,

    je vourais convertir un entier A (ex 1236) en un tableau d'entier int[]

    j'ai fait le code suivant mais ca marche pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
      class Program
        {
            static void Main(string[] args)
            {
     
                transformation(1234);
            }
     
            static void transformation(int A)
            {
                string B = Convert.ToString(A);
                Console.WriteLine(B);
     
     
                int[] tab = new int[B.Length];
     
                for (int i=0; i < B.Length; i++)
                {
                    tab[i] = Convert.ToInt16(B[i]);
                    Console.WriteLine(tab[i]);
                }
     
                Console.WriteLine(tab);
                Console.ReadLine();
            }
        }
    }

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    si tu veux les octets composants l'int :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bitconvert.getbytes(unint);
    si tu veux de l'ascii (ou autre) à partir du string :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system.text.encoding.ascii.encoding.getbytes(unint.tostring());
    (ascii peut etre remplacé par un autre encodage, syntaxe non contractuelle)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2016
    Messages : 4
    Points : 0
    Points
    0
    Par défaut it does not work
    Malheureusement, cela ne marche pas.

  4. #4
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 697
    Points
    10 697
    Billets dans le blog
    21
    Par défaut
    Citation Envoyé par helloworld22605 Voir le message
    Malheureusement, cela ne marche pas.
    Tout d'abord, les forums sont exclusivement francophones, comme précisé dans les règles du club. Merci de respecter cela et donc de rédiger en français.

    Ensuite, plutôt que de nous donner un code en nous disons simplement ça ne marche pas, il est bon d'expliquer précisément ce que tu souhaites.
    Quelles sont les entrées ? Ici, un entier
    Quelle est la sortie ? Ici, un tableau d'entier.

    Mais quelle est la transformation que tu souhaites appliquée à ton entier pour obtenir ton tableau d'entier ? Explique le avec des mots, que l'on sache ce que tu souhaites faire.

    Ensuite seulement, tu nous présentes ton code non fonctionnel, et là, on pourra te dire ce qui ne va pas
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2016
    Messages : 4
    Points : 0
    Points
    0
    Par défaut bonjour
    bonjour,

    tout d'abord je pense que j’écris en Français et pas en mandarin

    voila la problématique:

    une banque souhaite sécuriser les numéros de compte de ses clients, donc elle fait le raisonnement suivant en assumant que les numéros de compte sont des entiers:

    si le N° de compte est par exemple (1234567) le nouveau N° sera 1726354: on prend le premier chiffre du 1er numéro en concatène avec le dernier, puis le second avec l’avant dernier ainsi de suite....

    pour cela j'ai besoin de transformer le N° de compte entier en un tableau pour que je puisse faire des boucles.

  6. #6
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 697
    Points
    10 697
    Billets dans le blog
    21
    Par défaut
    Citation Envoyé par helloworld22605 Voir le message
    tout d'abord je pense que j’écris en Français et pas en mandarin
    Non en anglais. J'ai juste traduit le message. Tout le monde n'est pas anglophone.

    Citation Envoyé par helloworld22605 Voir le message
    une banque souhaite sécuriser les numéros de compte de ses clients, donc elle fait le raisonnement suivant en assumant que les numéros de compte sont des entiers:

    si le N° de compte est par exemple (1234567) le nouveau N° sera 1726354: on prend le premier chiffre du 1er numéro en concatène avec le dernier, puis le second avec l’avant dernier ainsi de suite....

    pour cela j'ai besoin de transformer le N° de compte entier en un tableau pour que je puisse faire des boucles.
    La problématique est déjà beaucoup plus claire !

    Maintenant, j'ose juste espérer que ce n'est qu'un exercice et pas la réalité !

    Quoiqu'il en soit, pour résoudre le soucis, je te donne une piste : division entière et modulo ! Cela devrait te permettre de constituer ce tableau d'entier
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  7. #7
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755

  8. #8
    Membre chevronné
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 896
    Points : 1 912
    Points
    1 912
    Par défaut
    Pour moi on est plus sur de la manipulation de chaîne que de la manipulation d'entiers.

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2016
    Messages : 4
    Points : 0
    Points
    0
    Par défaut essai

    j'ai teste le code mais ca marche pas,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
     
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
     
                Console.WriteLine(digitArr(1234));
                Console.ReadLine(); 
            }
     
     
     
            public static int[] digitArr(int n)
            {
                if (n == 0) return new int[1] { 0 };
     
                var digits = new List<int>();
     
                for (; n != 0; n /= 10)
                    digits.Add(n % 10);
     
                var arr = digits.ToArray();
                Array.Reverse(arr);
                return arr;
            }
        }
    }
    dans la conole il affiche System.int32[]

  10. #10
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 639
    Points : 2 148
    Points
    2 148
    Par défaut
    Citation Envoyé par helloworld22605 Voir le message
    j'ai teste le code mais ca marche pas
    Tu ne peux pas afficher directement un tableau avec la console, il faut le parcourir et afficher chacun de ses éléments, comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            static void Main(string[] args)
            {
                int[] tab = digitArr(1234);
     
                 for (int i = 0; i < tab.Length; i++)
                {
                    Console.WriteLine(tab[i]);
                }
     
                Console.ReadLine(); 
            }
    Par contre, évite les "ça marche pas" parce que la, le code marche, c'est toi qui a juste mal affiché, mais en règle générale ça donne aucune information a ceux qui peuvent t'aider.

    Pour rejoindre Noxen, il est vrai qu'on pourrait convertir en string et prendre les chiffres un par un, puis convertir si besoin.

Discussions similaires

  1. Transformer (int année, int mois, int jour) en millisecondes
    Par Logic_613 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 24/04/2012, 11h08
  2. Probleme: Conversion RGB (3 int) en int
    Par Djembadi dans le forum C
    Réponses: 4
    Dernier message: 22/02/2010, 10h27
  3. Conversion float vers int
    Par vargasvan dans le forum C
    Réponses: 2
    Dernier message: 05/10/2005, 17h29
  4. Conversion VARCHAR vers INT
    Par Slash dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/05/2005, 10h43
  5. [FLASH MX 2004] conversion string en int.
    Par calfater dans le forum Flash
    Réponses: 3
    Dernier message: 26/05/2004, 15h00

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