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

VB.NET Discussion :

convertir un uint64 en string binaire


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 130
    Par défaut convertir un uint64 en string binaire
    Bonjour,

    Je n'arrive pas à comprendre pourquoi je peux faire ca (mavariable est un nombre sous forme de string)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Convert.ToString(Convert.ToUInt32(mavariable, 10),2)
    mais lorsque je fais ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Convert.ToString(Convert.ToUInt64(mavariable, 10),2)
    j'obtiens l'erreur suivante:

    La résolution de surcharge a échoué, car aucun 'ToString' accessible ne peut être appelé avec ces arguments*: (BC30518)
    pourtant cette fonction existe bien:

    https://docs.microsoft.com/fr-fr/dot...ormatProvider_

    Et je ne vois pas non plus comment contourner ce problème.

    Merci pour votre aide.

  2. #2
    Membre expérimenté Avatar de Delaney
    Homme Profil pro
    Developpeur VB amateur
    Inscrit en
    Mars 2014
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Developpeur VB amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2014
    Messages : 148
    Par défaut
    Bonjour,

    As tu vraiment besoin du format Uint64? Est ce que le format Int64 peut faire l'affaire ?

    en passant par un intermédiaire cela fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim resultat1 as Int64 = Convert.ToUInt64(nombre,10)
    resultat2=Convert.ToString(resultat2,2)
    PS : pour moi ton code me donne presque la même erreur :

    La résolution de surcharge a échoué, car aucun 'ToString' accessible ne peut être appelé sans conversion restrictive

  3. #3
    Membre expérimenté Avatar de Delaney
    Homme Profil pro
    Developpeur VB amateur
    Inscrit en
    Mars 2014
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Developpeur VB amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2014
    Messages : 148
    Par défaut
    Salut,

    Comme contournement, j'ai réussi à faire ça :

    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
     
          Dim ba As BitArray = New BitArray(64)
          Dim bam As String
          Dim nombre As String = "22"
          Dim resultat1 As String = ""
     
          ba = New BitArray(BitConverter.GetBytes(Convert.ToUInt64(nombre, 10)))
     
          For i = ba.Count - 1 To 0 Step -1
             If ba(i).ToString = "False" Then
                bam = "0"
             Else
                bam = "1"
             End If
     
             resultat1 = resultat1 + bam
          Next
     
          MsgBox(resultat1)
    Pour les petits nombres, ça fait beaucoup de zéros devant

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 130
    Par défaut
    Voilà ce que j'ai réussit à faire, je sais pas si c'est orthodoxe, mais ca à l'air de fonctionner:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim mavariableHexString As String = String.Format("{0:X16}", Convert.ToUInt64(mavariable, 10))
    Dim mavariableBinaireString = Convert.ToString(Convert.ToInt64(mavariableHexString, 16), 2).PadLeft(64, "0"c)

Discussions similaires

  1. [C#] convertir String/binaire et l'afficher dans textBox
    Par moulefrite dans le forum Windows Forms
    Réponses: 3
    Dernier message: 12/07/2007, 10h45
  2. Comment convertir un champs en string ?
    Par kalisto95 dans le forum ASP
    Réponses: 2
    Dernier message: 22/09/2005, 12h15
  3. Comment convertir un TChartTitle en string ?
    Par marsupilami34 dans le forum Langage
    Réponses: 4
    Dernier message: 25/07/2005, 14h14
  4. Réponses: 14
    Dernier message: 29/06/2005, 10h22
  5. [C#] Convertir des bytes en string
    Par sorcer1 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 03/02/2005, 15h52

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