Wojciech Z.

Wojciech Z. Programista,
STRONG-PC

Temat: Zaokrąglanie w dół zmiennej typu numeric postgresql

Mam mały problem z zaokrągleniem zmiennej typu numeric do dwóch miejsc po przecinku w dół. Potrzebuję jakąś funkcję, która z wartości 2.50677 zaokrągliła wartość do 2.50, Z tego co się orientowałem funkcja floor() zaokrągla tylko do wartości całkowitej. Jak rozwiązać ten problem? Za pomoc z góry dziękuję:)

konto usunięte

Temat: Zaokrąglanie w dół zmiennej typu numeric postgresql

(pseudo-kod)

a = 2.50677
b = a * 100
c = floor(b)
d = c / 100
Wojciech Z.

Wojciech Z. Programista,
STRONG-PC

Temat: Zaokrąglanie w dół zmiennej typu numeric postgresql

OK, dzięki, zaraz spróbuję:)

Działa:)Ten post został edytowany przez Autora dnia 25.07.13 o godzinie 11:16
Marcin Miga

Marcin Miga Programista. Po
prostu programista.

Temat: Zaokrąglanie w dół zmiennej typu numeric postgresql

Ty nie chcesz zaokrąglić (bo wtedy robiłbyś to "normalnie"), tylko chcesz liczbie po prostu up..lić ileś cyfr...
Do tego służy TRUNC
http://www.postgresql.org/docs/current/static/function...

konto usunięte

Temat: Zaokrąglanie w dół zmiennej typu numeric postgresql

Marcin M.:
Ty nie chcesz zaokrąglić (bo wtedy robiłbyś to "normalnie"), tylko chcesz liczbie po prostu up..lić ileś cyfr...
Do tego służy TRUNC
http://www.postgresql.org/docs/current/static/function...

Obie funkcje (FLOOR, TRUNC) działają tak samo dla liczb dodatnich.
Dla liczb ujemnych jest różnica:

FLOOR(-7.55) = -8
TRUNC(-7.55, 0) = -7

Pytanie do Wojtka która wersja mu pasuje.
BTW: TRUNC ma dodatkowy argument - liczba miejsc po przecinku, więc można użyć wprost - bez przeliczanek które podałem powyżej:

TRUNC(2.50677, 2) = 2.50

Następna dyskusja:

zapytanie w PostgreSQL




Wyślij zaproszenie do