[PHP][SQL] format liczb


(Lysy1033) #1

Witam ponowne. napisałem całkiem spory serwis ale klient ma kilka zastrzezen

jedno z ważniejszych:

Ceny/kwoty są wyświetlane aktualnie w formacie decimal(6,2) wiadomo o co chodzi są to liczby 10,23 45,60 3454,10 itd po prostu z dwoma miejscami po przecinku

Klient oczekuje wyświetlania cen/kwot w formacie tt[spacja]sdj,00

czyli 5 435,87 4 543,09 itd

po prostu chce dodatkowego separatora między tysiącami i setkami w postaci spacji.

Teraz problem jest taki: że nie wiem czy lepiej jest wyświetlić prosto z bazy liczby w takim formacie(da sie tak w ogóle?)? - tutaj moze by problem bo w php potem robie troche obliczen i nie wiem czy bedzie dobrze liczyl czy bedzie bral ' dane do spacji ' a reszte ignorowal.

Czy tez lepiej jest po obliczeniach napisac taka funkcje ktora bedzie wszystkie kwoty/ceny konwertowac do takiego zapisu. cos ala jezeli ciąg większy od 6 to dodaj spacje w 7 znaku od konca. <- to skomplikuje obliczenia ale w sumie mozna by to dodać tylko przy wyswietlaniu.


(_mnich) #2

oczywiście że w bazie trzymaj we float a przy wyświetlaniu rób konwersje

jest do tego funkcja w php

<?php

  $notacja_polska = number_format($liczba, 2, ',', ' ');

?>

oczywiście możesz sobie zrobić funckje na podstawie tego

function cena ($intCena)

{


return number_format($intCena, 2, ',', ' ');


}

//potem możesz już tylko ze swojej funkcji korzystać przy wyświetlaniu

echo cena($twoja_zeminneta_z_nieprzerobiona_zmienna);

(Lysy1033) #3

o widzisz to juz mam jeden problem z głowy. z zamiennika nazwy nie bede korzystal bo nie widze takiej potrzeby. dzięki