Ajouter des 0 à gauche d'un String [Résolu]

mkhadi 56 Messages postés lundi 1 novembre 2010Date d'inscription 10 janvier 2014 Dernière intervention - 11 juin 2012 à 13:19 - Dernière réponse :  Utilisateur anonyme
- 21 juin 2012 à 13:02
slt
dans cette fonction je veut représenter les nombres binaire sur 8 bite , et cette nombre dans un tableau j'ai des problème corriger mon fonction svp
String B="";
C[j]= B;
//int K = A.length();
for (int k = 0; k < T.length; k++) {

for ( i = 0; i < 8-(A.length()); i++) {
B=0+B;

}
}
System.out.println("voici le nombre "+B); [code=java]

je veut ajouter des zero de gauche par exemple
2 = 10 //représentation normale
2= 00000010
aide svp .
Afficher la suite 

14 réponses

Répondre au sujet
Twinuts 5255 Messages postés dimanche 4 mai 2003Date d'inscription 11 janvier 2018 Dernière intervention - 11 juin 2012 à 22:05
+7
Utile
Salut,

Sauf si tu veux (dois ?) passer par des boucles il y a plus simple quand même ^^'
Et naturellement plus de possibilités avec peu de code

int number = 11;
System.out.println("Int format: " + String.format("%08d", number));
System.out.println("Hex format: " + String.format("%08x", number));
    
int iBinary = Integer.parseInt(Integer.toBinaryString(number));
System.out.println("Bin format: " + String.format("%08d", iBinary));

/*
 * Int format: 00000011
 * Hex format: 0000000b
 * Bin format: 00001011
 */



-----

"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Twinuts
cs_Julien39 6433 Messages postés mardi 8 mars 2005Date d'inscription 2 juin 2016 Dernière intervention - 11 juin 2012 à 14:09
+3
Utile
Salut,

private String completer(String n){
   StringBuilder sb = new StringBuilder();
   for(int i=0; i<10-n.length; i++){
      sb.append("0");
   }
   sb.append(n);
   return sb.toString();
}
Commenter la réponse de cs_Julien39
Utilisateur anonyme - 12 juin 2012 à 00:17
+1
Utile
Re,

OK, je dois:
            String str = "0101";
            int strLg = str.length();
            String zerosAgauche = "";

 
            for(int i = 7; i >-1; i--)
               zerosAgauche+= (strLg>i?"":"0");
            zerosAgauche+= str;

            System.out.println("Avec ajout de " + (8 -strLg) + " zero"
            + ((8 -strLg)>1?"s":"") + " à gauche : " + zerosAgauche);

Cordialement,

...\ Dan /...
Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 11 juin 2012 à 21:06
0
Utile
Salut,

Tu peux aussi utiliser les "opérateurs" ternaires.

Exemple:

            String str = "11"; // 6 zeros a gauche 
         // str = "10101010";  // 0 
         //str = "";           // 8
            int strLg = str.length();
            System.out.println("Sans zéro(s) à gauche : " + str);
            String zerosAgauche = (strLg>7?"":"0") + (strLg>6?"":"0") + (strLg>5?"":"0")
               + (strLg>4?"":"0") + (strLg>3?"":"0") + (strLg>2?"":"0")
                + (strLg>1?"":"0") + (strLg>0?"":"0") + str;
            System.out.println("Avec zéro(s) à gauche : " + zerosAgauche);


Cordialement,


...\ Dan /...
Commenter la réponse de Utilisateur anonyme
cs_GodConan 2116 Messages postés samedi 8 novembre 2003Date d'inscriptionContributeurStatut 6 octobre 2012 Dernière intervention - 12 juin 2012 à 06:52
0
Utile
salut,

perso, je suis en accord avec Twinuts ;o) je trouve le passage par les "formater ";o) nettement plus élégant ;o) et ça sert justement à ça... ;o) on faisait des boucles quand on avait pas le choix ;o) (en basic) héhé ;o)


GodConan ;o)
Commenter la réponse de cs_GodConan
Utilisateur anonyme - 12 juin 2012 à 14:18
0
Utile
Salut,

Je partage l'avis de GodConan :-) Au fait, t'en es-tu sorti mkhadi ?


--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
Commenter la réponse de Utilisateur anonyme
mkhadi 56 Messages postés lundi 1 novembre 2010Date d'inscription 10 janvier 2014 Dernière intervention - 12 juin 2012 à 22:33
0
Utile
salut et merci pour tout j'ai cette solution et marcher bien :
String []NORMA(String[]A){
       String B[]=new String[A.length];
       for (int i = 0; i < A.length; i++) {
        int l= A[i].length();
         for ( int j = 0; j < 8-l; j++) {
        A[i]="0"+A[i];
   }
   B[i]=A[i];
   }
   return(B);}



cette fonction de normalisation
Commenter la réponse de mkhadi
mkhadi 56 Messages postés lundi 1 novembre 2010Date d'inscription 10 janvier 2014 Dernière intervention - 12 juin 2012 à 22:34
0
Utile
cette fonction qui vérifier toute les valeur de tableau est normaliser
Commenter la réponse de mkhadi
cs_GodConan 2116 Messages postés samedi 8 novembre 2003Date d'inscriptionContributeurStatut 6 octobre 2012 Dernière intervention - 13 juin 2012 à 01:22
0
Utile
par pitié .. RESPECTES les conventions d'écriture JAVA...


GodConan ;o)
Commenter la réponse de cs_GodConan
mkhadi 56 Messages postés lundi 1 novembre 2010Date d'inscription 10 janvier 2014 Dernière intervention - 13 juin 2012 à 23:05
0
Utile
ou le probléme
Commenter la réponse de mkhadi
Utilisateur anonyme - 13 juin 2012 à 23:41
0
Utile
Salut,

Le problème c'est que les conventions de nommage ne sont pas respectées.

Comment nommer ?

Consulter par exemple:

Ici.

...\ Dan /...
Commenter la réponse de Utilisateur anonyme
mkhadi 56 Messages postés lundi 1 novembre 2010Date d'inscription 10 janvier 2014 Dernière intervention - 14 juin 2012 à 01:10
0
Utile
salut
dans notre projet d’appeler cette fonction (NORMA) parce que fait normalisation de valeur de table qui permet représenter tout les valeur binaire sur 08 bite . j’espère que vous comprez.
merci a votre attention et merci a votre aides .
Commenter la réponse de mkhadi
Utilisateur anonyme - 21 juin 2012 à 13:02
0
Utile
Convention Java, par exemple :

String [] norma( String [] a ){

     String [] b = new String[ a.length ];
     for (int i = 0; i < a.length; i++) {

        int l = a[i].length();
        for ( int j = 0; j < 8-l; j++) {
             A[i]="0"+A[i];
        }

        b[i] = a[i];
      }

   return b;

}



--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 21 juin 2012 à 13:02
0
Utile
(euh, vite fait quoi hein^^)


--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
Commenter la réponse de Utilisateur anonyme

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.