Announcement

Collapse
No announcement yet.

Thema Dezimalstellen...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Thema Dezimalstellen...

    Ich brauche eine Funktion die mir einem Float Wert (143,8) auf zwei Dezimalstellen erweitert oder auch einen Float Wert (344,6782) unberührt lässt. Das Ergebnis soll ein varchar sein.
    Nochmal Kurz :
    -Sind keine oder weniger als eine Dezimalstelle vorhanden soll auf zwei erweitert werden
    -Sind mehr als 2 Decimalstellen vorhanden soll keine anpassung stattfinden.

    Danke im Vorraus

  • #2
    wenn es sein muss hier zwei Beispiele für Oracle:

    select to_char(
    round(110.1110)
    )||'.'||rpad(
    replace(
    to_char(
    110.11110-round(110.11110)
    ),',',''
    ),
    case length(replace(to_char(110.11110-round(110.11110)),',','')) when 0 then 2
    when 1 then 2
    when 2 then 2
    else length(replace(to_char(110.11110-round(110.11110)),',','')) end
    ,'0'
    ) from dual;

    select to_char(
    round(110.1)
    )||'.'||rpad(
    replace(
    to_char(
    110.1-round(110.1)
    ),',',''
    ),
    case length(replace(to_char(110.1-round(110.1)),',','')) when 0 then 2
    when 1 then 2
    when 2 then 2
    else length(replace(to_char(110.1-round(110.1)),',','')) end
    ,'0'
    ) from dual

    Comment

    Working...
    X