mlody69
16.12.2010, 19:33:32
witam,
w swoim skrypcie posiadam takie coś, że musi zrobić jakąś instrukcję jeżeli jakaś zmienna przechowuje dane (sekundy) w formacie całkowitym. Zależy mi na dużej precyzji więc potrzebuję coś takiego, ze wykona się kod, jezeli zmienna z sekundą bedzie wynosiła np. 8.5sek a nie równe 8s.
Z góry dziekuje za pomoc
darko
16.12.2010, 20:17:17
Możesz sprawdzić czy zmienna jest liczbą zmiennopozycyjną stosując np. funkcję
, ale uwaga, wszystko zależy od zastosowanego formatowania liczb, bo np. 8.0 jest liczbą zmiennopozycyjną, ale 8 już nie.
mlody69
16.12.2010, 20:50:51
Ale ta liczba nie jest taką, jest zawsze całkowita, bez miejsc po przecinku, przykładowo 10,9,8 itd. Chcę ją w trakcie rozbić na setne i jeżeli bedzie np. 6.5s to wtedy coś zrobić
darko
16.12.2010, 21:02:14
Namieszałeś i już sam nie jestem pewny, co chcesz zrobić? Masz ciąg znaków "10,9,8" i chcesz wydobyć część za drugim przecinkiem? Użyj explode. A jeśli źle zrozumiałem, to nie bardzo wiem, w jaki sposób chcesz zrobić z liczby całkowitej zmiennoprzecinkową. Może wytłumacz dokładnie, co chcesz zrobić?
mlody69
16.12.2010, 21:04:49
Nie tak, mam czas(sekunde) w jakiejś zmiennej i chce tą sekunde rozbić jeszcze na mniejsze częsci, milisekundy.
darko
16.12.2010, 21:07:49
Cytat(mlody69 @ 16.12.2010, 21:04:49 )

Nie tak, mam czas(sekunde) w jakiejś zmiennej i chce tą sekunde rozbić jeszcze na mniejsze częsci, milisekundy.
Pomnóż tę liczbę przez tysiąc to będziesz miał czas w milisekundach.
//edit
nadal nie wiem, co chcesz zrobić, ale zerknij też na funkcję
microtime w manualu zwłaszcza przykłady, w których masz podane jak na tacy, w jaki sposób można obliczyć czas wykonywania skryptu, przerwać jego wykonywanie na określony czas (funkcja usleep) itd.
mlody69
16.12.2010, 21:20:28
Chodzi mi o to, że posiadam jakąś zmienną która w każdej iteracji jest zmniejszana o jeden (jedną sekundę).
Załóżmy, że zaczynamy od 100 i schodzimy w dół, w pętli mam if'a który spradza czy ta zmienna jest równa 5.56 (s) jednak nie mogę tak porównać bo ona jest zmienjszana o liczbę całkowitą
CuteOne
16.12.2010, 21:59:38
daj kod bo sorry ale bełkoczesz
mlody69
16.12.2010, 22:38:25
Heh, tak myślałem
<?php
while($x <= $czas)
{
$html = cURL("http://www.stronana.ro");
preg_match_all('#<p class="czas">(.*)</p>#i', $html, $czasy); //Tutaj jest czas(w sekundach;np 200), który maleje $czas = $czasy[1][0];
if($czas <= $kiedy) //Chce aby wykonywalo sie nie wtedy, kiedy czas =20 sek a 19.5s
{
for($x=1; $x <= 10; $x++)
{
//rob cos
}
}
}
?>
pablo89pl
16.12.2010, 23:10:27
no to jak masz zmniejszane o liczbe calkowita to jak myslisz? zajdzie kiedys tak ze przy dodawaniu liczb calkowitych podawi się nagle jakas liczba wymierna( z częścią ułamkową. ) ?..
.przeciez to sie kupy nie trzyma...
...chyba kolego nie wiesz jak dziala dodawanie
jak masz 2+1 to odrazu wylicza Ci 3, a nie do 2 dodaje jakei setne, tysieczne lub bardziej rozdrobnione czesci i tak w kolko az do 3...;]
mlody69
16.12.2010, 23:11:52
No i właśnie dlatego chcę sekundy na milisekundy i na nich działać
CuteOne
16.12.2010, 23:45:12
Więc odpowiedź masz kilka postów wyżej - microtime. Wystarczy trochę pogłówkować jak przerobić kod z Examples..
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.