# Double Attribute in ManangedBean 0.0



## navino (17. Mai 2011)

Hallo,

ich hab ein Problem mit Double-Attributen in der ManagedBean. Und zwar werden nach Aufrufen einer Speichern-Methode in der ManagedBean das Attribut mit 0.0 belegt, und auch in der <H:inputText> angezeigt. Wie kann ich das abstellen? Benutze ja einen groß-Double um zwischen 0 und null unterscheiden zu können.

Gruß
navino


----------



## F.S.WhiTeY (17. Mai 2011)

nich so viele informationen, deine post quillt ja nur so vor Code über !


----------



## navino (17. Mai 2011)

F.S.WhiTeY hat gesagt.:


> nich so viele informationen, deine post quillt ja nur so vor Code über !



Hallo,

eine Java-Klasse mit einen Attribut vom Typ der Klasse Double.

In dieser Klasse ein save() welches durch einen commandButton auf einer xhtml-Seite aufgerufen wird.
Das ganze heißt dann ManagedBean weil das bei JavaServerFaces halt so heißt.
Java ist so abstrakt, das ich denke das man sich das ohne weiteres vorstellen kann.

Gruß
navino


----------



## maki (17. Mai 2011)

> Wie kann ich das abstellen?


Mit Double gar nicht.

Müsstes einen String nehmen, und falls er einen Wert anders als "" hat diesen Wert in einen Double umwandeln, und umgekehrt.


----------



## F.S.WhiTeY (17. Mai 2011)

navino hat gesagt.:


> Hallo,
> 
> In dieser Klasse ein save() welches durch einen commandButton auf einer xhtml-Seite aufgerufen wird.
> Das ganze heißt dann ManagedBean weil das bei JavaServerFaces halt so heißt.
> Java ist so abstrakt, das ich denke das man sich das ohne weiteres vorstellen kann.



Was ne bean is wusste ich auch vorher und wie die funktioniert, wusste ich auch. aber nicht jeder versteht ohne codebeispiel was du willst.


----------



## navino (18. Mai 2011)

maki hat gesagt.:


> Mit Double gar nicht.
> 
> Müsstes einen String nehmen, und falls er einen Wert anders als "" hat diesen Wert in einen Double umwandeln, und umgekehrt.



Hallo,

so habe ich es jetzt gemacht. Die Sache ist aber unschön, da ich so einen schönen
<f:convertNumber  maxFractionDigits="2" maxIntegerDigits="5"  locale="#{request.locale}"/> benutze, der dann mit der richtigen Locale auch ein '.' gegen ein Komma  tauscht.... Alles wäre so, wie ich es benötige, nur es muss halt auch null geben können.
Leider schlägt hier irgendwo das Autoboxing zu....

Gruß
navino


----------



## maki (18. Mai 2011)

Unschön ja, ist ja auch unüblich 
Obwohl, so unschön ist das gar nicht.

Ein double/Double soll eben eine Fliesskommazahl darstellen, null ist ein Wert mit dem man da normalerweise nix anfangen kann.
Könntest dir ja deinen eigenen Konverter basteln.


----------

