# Float Problem Java Oracle



## Guest (23. Apr 2008)

Hallo,

ich habe in einer Oracle Datenbank ein Float Feld, welches ich mit einem Java Float beschreiben möchte.

Java hat ein Komma als Dezimaltrenner, Oracle einen Punkt. Welchen alternativen Datentyp sollte man in Oracle nehmen um das Problem zu lösen ?

gruß
dutch


----------



## SlaterB (23. Apr 2008)

Dezimaltrenner treten doch nur in der Stringdarstellung einer Zahl auf,
was hat das mit der Kommunikation mit der Datenbank zu tun?

machst du einen Stringvergleich?
um was für eine Query gehts genau mit welcher Fehlermeldung?


----------



## Guest (23. Apr 2008)

java.sql.SQLException: ORA-01722: invalid number

Das ist meine Fehlermeldung. Im SQL übergebe ich dabei einen Float wie z.B. 22.0

Stelle ich per Hand auf 22,0 funktioniert es.


----------



## SlaterB (23. Apr 2008)

wie machst du das denn 'per Hand'?
baust du SQL-Queries als String zusammen, etwa "where x ="+floatVariable;?

nun, dann musst du auf Java-Seite tatsächlich ein besondere Formatierung verwenden, 
denn es ist doch wohl so, dass Oracle das Komma will und Java den Punkt liefert?
(im ersten Posting hast du es andersrum, im zweiten richtig?)

mit NumberFormat/ DecimalFormat/ Locale/ DecimalFormatSymbols usw.  kann man das zusammenstellen,
schaue bitte unter diesen Begriffen zunächst einmal bei google/ Lehrbuch vorbei

-----------

viel unabhängiger bist du aber, wenn du diese Aufgabe dem JDBC-Treiber überläßt,
verwende PreparedStatements mit ? und setze float als Parameter


----------



## Guest (23. Apr 2008)

ok, dann erstmal vielen dank


----------

