# Locale



## Machine (29. Nov 2013)

Hallo,

ich habe ein kleines Problem mit meinem Programm.

Es soll einen Bruch (uebergebe 2 Zahlen) mit x Nachkomastellen ausgeben. Zusaetzlich soll dann noch das "," geaendert werden, je nach dem wie man es haben moechte (GERMAN,ENGLISH,...)

Mein Problem das ist jetzt also habe ist, dass soweit ich das sehen kann immer Locale.ENGLISh verwendet wird.

Hier die relevanten Codestellen:


```
import java.util.Locale;

public class BenutzerFormat implements BruchFormat 
{
	private String s;
	private Locale land;
	
	public BenutzerFormat(Locale land)
	{
		if(land.equals(null))
		{
			this.land=Locale.GERMAN;
		}
		else
			this.land=land;
	}
	
	public BenutzerFormat(String zahl) 
	{
		this.s=zahl;
	}
	@Override
	public String bruchToString(int zaehler, int nenner) 
	{
		String rueck;
		double erg=(double)zaehler/(double)nenner;
		
		rueck=String.format(land,s, erg);

		return rueck+"\n";
	}

}
```


Testklasse:


```
b1.setFormat(new BenutzerFormat(Locale.GERMANY));
		b1.setFormat(new BenutzerFormat("%.2f"));
		System.out.println(b1);
```

Wuerde mir sehr helfen, falls ihr Ideen habt.


----------



## VfL_Freak (29. Nov 2013)

Moin,

schon mal SO versucht? :noe:


Machine hat gesagt.:


> ```
> Testklasse:
> [code=Java]
> b1.setFormat(new BenutzerFormat(Locale.GERMAN));  // !!!
> ```



Gruß
Klaus


----------



## Machine (29. Nov 2013)

Hallo VFL-Freak,

danke fuer deine schnelle Antwort. Das habe ich ich natuerlich schon versucht, aber dadurch habe ich keine veraenderung der Ausgabe gesehen.


----------



## VfL_Freak (29. Nov 2013)

Moin,

natürlich setzt die Locale NUR für dein Objekt *b1*, was auch immer das genau ist !! 
Und ggf. davon abhängige, wennich mich recht erinnere ...

Gruß
Klaus


----------



## Machine (29. Nov 2013)

Das macht sie ja auch. Eventuell habe ich mich etwas schlecht ausgedrueckt.

Ich moechte ja, dass bei einer Kommazahl z.B. 0.5 ausgegeben wird, falls ich Locale.ENGLISH uebergebe. Nur leider wird immer 0.5 ausgegeben, auch wenn ich Locale.GERMAN uebergebe.

Wenn ich den Teil mit Locale weg lasse wird automatisch die Kommazahl im deutschen (0,5) Format ausgegeben.


----------

