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

Windows Forms Discussion :

[C#] Convertir des bytes en string


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 190
    Par défaut [C#] Convertir des bytes en string
    Bonjour,
    Je suis entrain de faire un mini explorateur et je voudrai à partir de la taille d'un fichier afficher sa taille en Ko, Mo, Go, etc...
    Je voudrai savoir s'il y a un algorithme o composant qui fait cela?
    Merci par avance.

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Je n'i jamais trouvé une telle fonction toute faite: obligé de faire la mienne.


    La voici, des fois que cela t'interesse:

    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
     
    #region Fonction ConvertirTaille
    		/// <summary>
    		/// Permet de convertir un nombre d'octet dans un format plus simple.
    		/// Ex: 1024 octets = 1 Ko
    		/// </summary>
    		/// <param name="taille_octet"></param>
    		/// <returns>La taille, convertit en octet, Kilo-octet, etc...</returns>
    		public string ConvertirTaille(long taille_octet)
    		{
    			string final_size = String.Empty;
     
    			if ( taille_octet < 1024 )
    			{
    				final_size = Convert.ToString(taille_octet) + " o";
    			}
    			if ( (taille_octet/1024) > 1 )
    			{
    				// 1024 octets = 1 Ko
    				final_size = Convert.ToString(taille_octet/1024) + " Ko";
    			}
    			if ( (taille_octet/1024) >= 1024 )
    			{
    				// 1048576 octets = 1 Mo
    				final_size = Convert.ToString(taille_octet/1048576) + " Mo";
    			}
    			if ( (taille_octet/1024) >= 1048576 )
    			{
    				// 1073741824 octets = 1 Go
    				final_size = Convert.ToString(taille_octet/1073741824) + " Go";
    			}
     
    			return final_size;
    		}
    		#endregion
    A+

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 190
    Par défaut
    génial, merci beaucoup!

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Merci de penser au tag Résolu

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Par défaut
    et comment tu fais pour choisir dans quelle unité tu veux ta réponse ???

    moi je proposerai quelque chose comme :

    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
     
     
    public enum SizeUnit : short
    {
    Ko = 1,
    Mo = 2,
    Go = 3
    }
     
    public string ConvertSize( long octets, SizeUnit unit )
    {
    int x = System.Convert.ToInt16(unit);
    double p = System.Math.Pow(1024, x);
    double size = octets / p;
    return size.ToString() + " " + unit.ToString();
    }

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par Keihilin
    et comment tu fais pour choisir dans quelle unité tu veux ta réponse ???
    tu choisis pas

    J'ai jamais dit que c'était parfait. Ca fonctionnait pour le petit truc que j'avais besoin de faire, c'est tout

  7. #7
    Membre émérite

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Par défaut
    Citation Envoyé par Morpheus
    tu choisis pas


    Citation Envoyé par Morpheus
    J'ai jamais dit que c'était parfait. Ca fonctionnait pour le petit truc que j'avais besoin de faire, c'est tout
    bah, je t'en veux pas tu sais, t'es encore jeune

  8. #8
    Membre confirmé
    Inscrit en
    Avril 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 190
    Par défaut
    J'avais pas mis le tag résolu car ce n'était pas encore ça, mais maintenant c'est parfait!

    J'espère que tu ne m'en veux pas d'avoir modifier un peu ta fonction! ;-)

    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
    36
     
    		/// <summary> 
    		/// Permet de convertir un nombre d'octet dans un format plus simple. 
    		/// Ex: 1024 octets = 1 Ko 
    		/// </summary> 
    		/// <param name="taille_octet"></param> 
    		/// <returns>La taille, convertit en octet, Kilo-octet, etc...</returns> 
    		private string normalizeSize(long taille_octet) 
    		{ 
    			string final_size = String.Empty; 
     
    			if ( taille_octet < 1024 ) 
    			{ 
    				if (taille_octet >= 0)
    					final_size = Convert.ToString(taille_octet) + " octet(s)";
    				else
    					final_size = "0 octet"; 
    			} 
    			if ( Decimal.Divide(taille_octet, 1024) >= 1 ) 
    			{ 
    				// 1024 octets = 1 Ko 
    				final_size = Decimal.Round(Decimal.Divide(taille_octet, 1024), 2).ToString() + " Ko"; 
    			} 
    			if ( Decimal.Divide(taille_octet, 1024) >= 1024 ) 
    			{ 
    				// 1048576 octets = 1 Mo 
    				final_size = Decimal.Round(Decimal.Divide(taille_octet, 1048576), 2).ToString() + " Mo"; 
    			} 
    			if ( Decimal.Divide(taille_octet, 1024) >= 1048576 ) 
    			{ 
    				// 1073741824 octets = 1 Go 
    				final_size = Decimal.Round(Decimal.Divide(taille_octet, 1073741824), 2).ToString() + " Go"; 
    			} 
     
    			return final_size; 
    		}
    @+

  9. #9
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Si c'est parfait pour toi, tant mieux

    ps: tu as regardé sinon la technique proposée par Keihilin ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Convertir des Bytes dans un NumericUpDown ?
    Par iNMCX dans le forum C#
    Réponses: 1
    Dernier message: 06/02/2013, 00h34
  2. [2.0] Convertir une cle primaire byte[] en string
    Par freddyboy dans le forum Accès aux données
    Réponses: 14
    Dernier message: 20/12/2010, 12h05
  3. Transformer des bytes en String et vis versa
    Par sebac dans le forum Langage
    Réponses: 2
    Dernier message: 16/09/2009, 14h47
  4. Convertir des bytes en binaire ...
    Par Battosaiii dans le forum C
    Réponses: 2
    Dernier message: 18/03/2006, 15h47
  5. [debutant]Convertir un pointeur byte en String
    Par patmaba dans le forum SL & STL
    Réponses: 3
    Dernier message: 22/07/2005, 13h34

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