Ergebnis 1 bis 7 von 7

Thema: round

  1. #1
    Turmaline ist offline Neuer Benutzer
    Registriert seit
    26.02.2007
    Beiträge
    20

    Standard round

    Hallo Zusammen,

    ist so was korrekt?

    hilf1 := round(hilf2/hilf3, 0)

    wobei hilf1 muss integer-Wert sein.

    Danke im Voraus,
    ANja.

  2. #2
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von Turmaline Beitrag anzeigen
    Hallo Zusammen,

    ist so was korrekt?

    hilf1 := round(hilf2/hilf3, 0)

    wobei hilf1 muss integer-Wert sein.

    Danke im Voraus,
    ANja.
    Verrätst Du uns, was Du einklich willst?

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    Turmaline ist offline Neuer Benutzer
    Registriert seit
    26.02.2007
    Beiträge
    20

    Standard

    anscheinen gibt es die Funktion 'round' nicht...

    ich will also:

    hilf1 := hilf2/hilf3;

    wobei hilf1 muss INT sein/bleiben auch wenn die Teilung hilf2/hilf3 doch einen nicht-integer Wert ergeben hat.

  4. #4
    Avatar von Xandrian
    Xandrian ist offline Administrator
    Registriert seit
    23.11.2005
    Ort
    Bayreuth, Bayern, Germany, 106332342737801, Bayreuth, Germany
    Beiträge
    1.495

  5. #5
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von Turmaline Beitrag anzeigen
    anscheinen gibt es die Funktion 'round' nicht...
    Der Schein trügt.

    Code:
    test=*# select round(5/3,0);
     round
    -------
         1
    (1 row)

    ich will also:

    hilf1 := hilf2/hilf3;

    wobei hilf1 muss INT sein/bleiben auch wenn die Teilung hilf2/hilf3 doch einen nicht-integer Wert ergeben hat.
    Code:
    test=*# create table hilf (h1 int, h2 int, h3 int);
    CREATE TABLE
    test=*# insert into hilf (h1, h2) values (5,3);
    INSERT 0 1
    test=*# update hilf set h3 = h1/h2;
    UPDATE 1
    test=*# select * from hilf ;
     h1 | h2 | h3
    ----+----+----
      5 |  3 |  1
    (1 row)
    Ich sehe noch immer nicht Dein Problem...


    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  6. #6
    Turmaline ist offline Neuer Benutzer
    Registriert seit
    26.02.2007
    Beiträge
    20

    Standard

    Zitat Zitat von akretschmer Beitrag anzeigen
    Der Schein trügt.

    Code:
    test=*# select round(5/3,0);
     round
    -------
         1
    (1 row)
    Mist, ich kriege dabei eine Fehlermeldung: Funktion round(double precision, integer) existiert nicht.




    Code:
    test=*# create table hilf (h1 int, h2 int, h3 int);
    CREATE TABLE
    test=*# insert into hilf (h1, h2) values (5,3);
    INSERT 0 1
    test=*# update hilf set h3 = h1/h2;
    UPDATE 1
    test=*# select * from hilf ;
     h1 | h2 | h3
    ----+----+----
      5 |  3 |  1
    (1 row)
    Ich sehe noch immer nicht Dein Problem...

    Andreas
    hm... wenn h3 int ist und h1/h2 eine nicht-int Zahl ergeben, dann wird in h3 der Integer-Teil reingeschrieben? Ich bekomme doch eine Fehlermeldung:
    FEHLER: ungültige Eingabesyntax für ganze Zahl: ╩6.99999999999999╚

  7. #7
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von Turmaline Beitrag anzeigen
    hm... wenn h3 int ist und h1/h2 eine nicht-int Zahl ergeben, dann wird in h3 der Integer-Teil reingeschrieben? Ich bekomme doch eine Fehlermeldung:
    FEHLER: ungültige Eingabesyntax für ganze Zahl: ╩6.99999999999999╚
    Dann verwende einen CAST. Ich kann ansonsten das nicht weiter nachvollziehen, selbst in einer Function klappt das:

    Code:
    test=*# create function h1(int, int) returns int as $$begin return $1/$2; end;$$ language plpgsql;
    CREATE FUNCTION
    test=*# select h1(5,3);
     h1
    ----
      1
    (1 row)
    
    test=*# select h1(6,3);
     h1
    ----
      2
    (1 row)
    
    test=*# select h1(16,3);
     h1
    ----
      5
    (1 row)
    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum