Pad droit avec des zéros

Désolé si cette question a déjà été posée, j’ai effectué une recherche approfondie et rien.

Maintenant, je sais que:

Ssortingng.format("%05d", price); 

Sera remplir mon prix avec des zéros à gauche, donc un prix de 25 entraînera 00025

Et si je veux les placer à droite, le résultat est 25000 ? Comment puis-je faire cela en utilisant uniquement les modèles Ssortingng.format ?

    Vous pouvez utiliser:

     Ssortingng.format("%-5s", price ).replace(' ', '0') 

    Puis-je le faire en utilisant uniquement le modèle de format?

    Ssortingng.format utilise Formatter.justify comme la méthode Ssortingng.printf . À partir de cet article, vous verrez que l’espace de sortie est codé en dur, il est donc nécessaire d’utiliser le Ssortingng.replace .

    Essaye ça :

     Ssortingng RightPaddedSsortingng = org.apache.commons.lang.SsortingngUtils.rightPad(InputSsortingng,NewSsortingnglength,'paddingChar'); 

    S’il vous plaît essayer de lire ce document, regardez si la bibliothèque de Apache commons SsortingngUtils peut vous aider

    J’ai créé un code comme celui-ci:

     import org.apache.commons.lang3.SsortingngUtils; public static void main(Ssortingng[] args) { Ssortingng str = "123"; str = SsortingngUtils.leftPad(str,10,"0"); //you can also look the rightPad function. System.out.println(str); } 

    Crédits à beginnersbook.com , ceci est une solution de travail pour le problème:

     public class PadRightTest { public static void main(Ssortingng[] argv) { System.out.println("#" + rightPadZeros("myssortingng", 10) + "@"); System.out.println("#" + rightPadZeros("myssortingng", 15) + "@"); System.out.println("#" + rightPadZeros("myssortingng", 20) + "@"); } public static Ssortingng rightPadZeros(Ssortingng str, int num) { return Ssortingng.format("%1$-" + num + "s", str).replace(' ', '0'); } } 

    et la sortie est la suivante:

     #myssortingng00@ #myssortingng0000000@ #myssortingng000000000000@ 

    si vous voulez faire sans format ou n’importe quelle fonction alors utilisez cette simple astuce System.out.println(price+"000");

    Utilisez cette fonction pour un remplissage correct.

     private Ssortingng rightPadding(Ssortingng word, int length, char ch) { return (length > word.length()) ? rightPadding(word + ch, length, ch) : word; } 

    comment utiliser?

     rightPadding("25", 5, '0'); 

    Dans mon cas, j’ai résolu cela en utilisant uniquement du Java natif.

     SsortingngBuilder sb = new SsortingngBuilder("1234"); sb.setLength(9); Ssortingng test = sb.toSsortingng().replaceAll("[^0-9]", "0"); System.out.println(test); 

    Donc, il a imprimé: 123400000