# integer 2 bigdecimal ?



## helloween (18. Jan 2008)

hab ein klein grosses problem ! 

hab einen integer wert ... den ich in eine datenbank reinschreiben muss.

in der datenbank ist es aber als bigdecimal definiert .. 

wenn ich BigDecimal tmp = new BigDecimal(integerwert); schreibe, kommen ganz komische zahlen raus ... 

kennt vielleicht jemand eine lösung für mein problem ?  zb. int 100 währe laut BigDecimal 9900 ????

danke  !


----------



## Marco13 (19. Jan 2008)

Im Zeifelsfall 
...new BigInteger(String.valueOf(intValue));

EDIT: Shit, wie komm ich denn auf BigInteger?  ???:L


----------



## SlaterB (19. Jan 2008)

> wenn ich BigDecimal tmp = new BigDecimal(integerwert); schreibe, kommen ganz komische zahlen raus ... 

solche Aussagen sind ohne vollständigen Code nix wert 


```
public class Test {

	public static void main(String[] args) throws Exception {

		int k = 100;
		BigDecimal d = new BigDecimal(k);
		System.out.println(d);
	}

}
```
klappt normal, wer hätte das gedacht 

bestimmt hast du int 9900 oder sonst irgendwas schräges in deinem Program,
schiebe das nicht auf BigDecimal

erst wenn du new BigDecimal(0.1) = 0.0999999999997458 oder so bekommst,
dann kannst du dich beschweren, das ist nämlich ein tatsächlich vorhandener Bug/ Feature,
wo dann auch new BigDecimal(String.valueOf(doubleValue)); tatsächlich hilft


----------

