0

Auf- bzw. Abrundungen

Guten Tag 

für meine Datenbank möchte Auf- bzw. Abrundungen in 0,5 Schritten vornehmen. Die "Round x" ist mir deutlich, einzig mit dem 0,5 Schritt bekomme ich nicht hin. Beispiele: alle Werte unter 1,0 sind immer 1, dann in 0,5 Schritten weiter (1,31 =1,5 ) usw.  

5 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Kommt mir ja selber ein bisschen kompliziert vor, aber so könnte es gehen:

     

    let myZahl := format(Zahl, "0.00");
    let myVK := number(first(split(myZahl, ",")));
    let myNK := number(last(split(myZahl, ",")));
    if myVK < 1 then
        myVK := 1;
        myNK := 0
    else
        if myNK > 0 then
            if myNK > 50 then
                myNK := 0;
                myVK := myVK + 1
            else
                myNK := 0.5
            end
        end
    end;
    myVK + myNK

    • Marc_Forster
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Vielen Dank an dieser Stelle!

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Wenn ich ein bisschen kürzen darf... Als Trigger nach Änderung bei Zahl:

    ---

    Zahl:=if Zahl < 1 then
    1
    else
    round(Zahl / 5, 1) * 5
    end

    ---

    Leo

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Autsch! ;)  Ja, klar ... Ich glaube, das hatten wir schon mehrfach, aber ich mache es jedes Mal wieder so kompliziert.

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ja, aber hier im Forum zu suchen (und zu finden) ist eine Herausforderung.