Ajouter des 0 à gauche d'un String

Résolu
Signaler
Messages postés
58
Date d'inscription
lundi 1 novembre 2010
Statut
Membre
Dernière intervention
4 décembre 2018
-
 Utilisateur anonyme -
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 .

14 réponses

Messages postés
5366
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
6 décembre 2021
111
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
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
363
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();
}

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 /...

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 /...
Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
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)

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.)
Messages postés
58
Date d'inscription
lundi 1 novembre 2010
Statut
Membre
Dernière intervention
4 décembre 2018

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
Messages postés
58
Date d'inscription
lundi 1 novembre 2010
Statut
Membre
Dernière intervention
4 décembre 2018

cette fonction qui vérifier toute les valeur de tableau est normaliser
Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
par pitié .. RESPECTES les conventions d'écriture JAVA...


GodConan ;o)
Messages postés
58
Date d'inscription
lundi 1 novembre 2010
Statut
Membre
Dernière intervention
4 décembre 2018

ou le probléme

Salut,

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

Comment nommer ?

Consulter par exemple:

Ici.

...\ Dan /...
Messages postés
58
Date d'inscription
lundi 1 novembre 2010
Statut
Membre
Dernière intervention
4 décembre 2018

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 .

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.)

(euh, vite fait quoi hein^^)


--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)