# String.format mit vorangestellten Leerzeichen



## Oli (30. Sep 2008)

Hallo,

ich habe Strings des Formats:

123.12 - 125.53
12.1 - 12.8

Nun möchte ich diese so formatieren, dass sie sauber untereinander stehen.
Es werden nie Zahlen größer 1000.
Mit der Formatierung 0000.00 werden mir Nullen angehängt, das will ich nicht, sondern Leerzeichen. 
Die Insel hilft hier leider auch nicht weiter. Gibt´s da ein Symbol, welches mit Leerzeichen füllt oder muss ich mir ne Methode basteln, die das für mich macht?

Danke, Oli


----------



## Nava (30. Sep 2008)

Dein Anzatz ist falsch!

Wenn zu z.B. die Anzeige durch Labels realisierst und diese im Layout
Central ausrichtest mit der gleichen größe sollten die Werte schön untereinander stehen.
xxxx - xxxx
    x - xx
Bekomme es nichtmal im Forum mit leerzeichen sauber ausgerichtet ^^


----------



## Oli (30. Sep 2008)

Hi,

Hm, nur leider sollen die Strings in einem JTextArea untereinander stehen. 

Da kann ich nicht mit Labels arbeiten. 

Grüße


----------



## Oli (30. Sep 2008)

Hab jetzt eine kleine Funktion ebaut, die mir das realisiert.

Nun ich verwende in der TextArea die Schrift Courier, somit ist das Problem des untereinanderstehens auch erschlagen, denn Courier hat eine feste Zeichenbreite.

Grüße Oli


----------



## SlaterB (30. Sep 2008)

```
public class Test
{

    public static void main(String[] args)
    {
        System.out.println(String.format("%04d", 50));
        System.out.println(String.format("%04d", 500));
        System.out.println(String.format("%4d", 50));
        System.out.println(String.format("%4d", 500));
    }
}
```


----------



## musiKk (30. Sep 2008)

Hm, vielleicht so?

```
String s1 = String.format("%6.2f - %6.2f", 123.12, 125.53);
String s2 = String.format("%6.2f - %6.2f", 12.1, 12.8);
```


----------



## GastsaG (30. Sep 2008)

schön, wieder was gelernt.


----------



## Oli (30. Sep 2008)

Hallo,

vielen Dank, funktiniert alles perfekt. Nur wie schon von Nava angedeudet muss eben eine Courierschriftart verwendet werden, um das gewünschte Ergebnis zu erhalten.

Grüße Oli


----------



## thE_29 (30. Sep 2008)

Das nennt man aber Monospace Schriftart und nicht Courier 
http://de.wikipedia.org/wiki/Nichtproportionale_Schriftart

Courier ist von MS und eigentlich nur unter Windows! Da schauts bei Mac/Linux schlecht aus


----------



## musiKk (30. Sep 2008)

Also bei mir steht bei Courier und Courier New kein Copyright von Microsoft, sondern von der Monotype Corporation. Ich mein, das gibts überall (aber bin mir nicht ganz sicher).


----------



## Ariol (30. Sep 2008)

http://de.wikipedia.org/wiki/Courier_(Schriftart)


----------

