# String to BigDecimal



## medi (2. Dez 2008)

hi,

so wie ich das gelesen hatte meinte ich das Bigdecimal eine automatische typkonvertierung durchführen würde.
Irgendwie funktioniert das hier nicht :


                String[] line = arr[0].split("|");
	public void setSL10_1(BigDecimal sl10_1) {
		SL10_1 = sl10_1;
	}

                setSL10_1(line[24]);

"is not applicable for the type String"

weiss jemand wie ich das sonst machen kann?


----------



## Marco13 (2. Dez 2008)

BigDecimal x = *new BigDecimal(*"123"*);"* // !?!?!


----------



## medi (2. Dez 2008)

hm.. heisst das ich bin gezwungen vor dem funktionsaufruf erstmal die zeile zu machen  und dann erst zu übergeben?


----------



## SlaterB (2. Dez 2008)

das Leben ist schon eines der härtesten


----------



## Murray (2. Dez 2008)

Die temporäre Variable kannst Du Dir allerdings auch sparen; es geht auch so

```
setSL10_1( new BigDecimal( line[24]));
```

Alternativ kannst Du setSL10_1 auch überladen:


```
public void setSL10_1( BigDecimal sl10_1) {
  SL10_1 = sl10_1;
} 
public void setSL10_1( String s) {
  setSL10_1( new BigDecimal( s));
}
```


----------



## medi (2. Dez 2008)

danke. btw ist es so, dass ich mit dem aufruf new BigDecimal(string) gleichzeitig eine überprüfung hab dass der String überhaupt zu nem BigDecimal gemacht werden kann? also was falls der string gar nicht das richtige format hat? spuckt er mir dann was aus?


----------



## Ark (2. Dez 2008)

Hast du es denn schon mal probiert? :roll:

Ark


----------



## Murray (2. Dez 2008)

Oder einfach mal in der API-Dokumentation nachlesen:



			
				javadoc hat gesagt.:
			
		

> *Throws:*
> _NumberFormatException_ - if val is not a valid representation of a BigDecimal


----------

