![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 9.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Napisałem taki kod do obliczania czasu zapytania. Na localu czas wynosi w przedziale mniej więcej 0.0005 - 0.0009 . Czy ten kod dobrze oblicza czas wykonania zapytania?
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Substr nie służy do zaokrąglania liczby, do tego jest ceil, czy floor
Ogólnie tak, obliczanie czasu działania skryptu polega na odjęciu od godziny zakończenia godziny rozpoczęcia. Dobrze jest wynik przedstawić w sensownych jednostkach, łatwych do zrozumienia, tj. minut, sekund, mikrosekund etc. Tak w ogóle czy z taką rzeczą jak obliczanie różnicy czasu trzeba lecieć na forum? -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) ![]() ![]() |
Substr nie służy do zaokrąglania liczby, do tego jest ceil, czy floor Ogólnie tak, obliczanie czasu działania skryptu polega na odjęciu od godziny zakończenia godziny rozpoczęcia. Dobrze jest wynik przedstawić w sensownych jednostkach, łatwych do zrozumienia, tj. minut, sekund, mikrosekund etc. Tak w ogóle czy z taką rzeczą jak obliczanie różnicy czasu trzeba lecieć na forum? jak chcesz zaokrąglić to chyba round() ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 9.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Po prostu chcę mieć pewność czy dobrze działa dlatego pytam. A substr() użyłem po to, żeby wyświetlało 5 liczb.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
@Pawel_W: są 3 funkcje zaokrąglające:
round() - zaokrągla do najbliższej liczby naturalnej floor() - zaokrągla do najbliższej mniejszej lub równej liczby ceil() - zaokrągla do najbliższej większej lub równej liczby naturalnej Jaka jest różnica? Sprawdź na 4.7 i 4.4 ![]() round(4.4) = 4 floor(4.4) = 4 ceil(4.4) = 5 round(4.7) = 5 floor(4.7) = 4 ceil(4.7) = 5 Widzisz różnicę? Round "skacze" zależnie czy jest poniżej czy powyżej połówki. @vokiel: Dwie ostatnie z tych funkcji jakie wspomniałeś zaokrąglają do całości. A my substr wyciągamy z wyniku jedynie 6 pierwszych znaków. Więc oboje nie macie racji do końca. A dlaczego po części? Bo ostatecznie bym użył zapewne funkcji round tak jak wspomniał Pawel_W, ale ustawił jej drugi parametr (precyzję) na 5 lub 6, dzięki czemu miałbym wynik do 5 lub 6 miejsca po przecinku. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
@thek no jasne, że trzeba ustawić precyzję, ale IMHO to było oczywiste, tym bardziej przy microtime.
Substr — jak mówi manual — zwraca fragment ciągu tekstowego. Microtime — zwraca aktualny uniksowy znacznik czasu z mikrosekundami. Pomimo braku jawnego rzutowania typów, moim zdaniem, powinno używać się funkcji do tego przeznaczonych. Przykładowo:
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 02:10 |