# NumberFormatter nebula



## Gast2 (8. Dez 2009)

Hallo zusammen,

ich versuche ein NumberFormatter zu machen, der in einem Textfeld einen leeren String erlaubt aber auch führende nullen erlaubt: Dieser hier erlaubt leere Strings aber zeigt "0,00" als ",00" an was bei geld beträgen echt unschön ist... Weiß jemand wies besser/richtig geht?


```
NumberFormatter formatter = new NumberFormatter("#,###,###.##");
		formatter.setFixedLengths(false, true);
```


----------



## SlaterB (8. Dez 2009)

#,##0.00


----------



## Gast2 (8. Dez 2009)

SlaterB hat gesagt.:


> #,##0.00



Dann werden aber keine leeren Strings mehr erlaubt sondern es steht immer 0,00 drin ... und das kann man nicht mehr rausmachen


----------



## Gast2 (8. Dez 2009)

habs mal so gelöst...


```
public class MoneyFormatter extends NumberFormatter{

	public MoneyFormatter(String string) {
		super(string);
	}

	@Override
	protected int format(int curseur) {
		if (editValue.toString().equals(EMPTY)) {
			zeroIntLen = 0;
		} else if (editValue.toString().equals("0")) {
			zeroIntLen = 1;
		} else if (editValue.toString().equals(
				"0" + symbols.getDecimalSeparator())) {
			zeroIntLen = 1;
		} else if (editValue.toString().startsWith(
				String.valueOf(symbols.getDecimalSeparator()))) {
			zeroIntLen = 1;
		}
		return super.format(curseur);
	}
}
```


----------

