.radex
12.06.2006, 20:34:42
mam w zmiennej liczbę np. 11,05 i chcę ją zaokrąglić w dół ( do 11) więc używam coś takiego:
<?php
$var = 11.05 ;
list
($varx, $niepotrzebne) = split("." , $var);?>
i w varx nic nie ma bo kiedy robie
<?php
?>
nic nie pisze.
jakieś pomysły?
.radex
12.06.2006, 20:46:53
hm... to też dobry pomysł, raczej użyje round(); (podobna funkcja)
em1X
12.06.2006, 21:25:46
seaquest
13.06.2006, 07:52:32
Panowie chyba nie czytali o typach zmiennych i castach:
<?php
$var = 11.05;
?>
Przy okazji przenoszę na przedszkole.
ikioloak
17.06.2006, 14:06:29
Mylisz sie Seaquest. Rzutowanie, mimo ze w tym przypadku sie sprawdzi, wcale nie sluzy do tego typu akcji. Odpal sobie prosty przyklad:
<?php
$x = 10203040500.3;
print '<br>floor(X):<br>'; ?>
Solitary
5.01.2007, 03:46:17
ikioloak, seaquest się nie byli, rzutowanie z liczb zmiennoprzecinkowych do stałoprzecinkowej działa poprawnie, a Twój przykład dowodzi jedynie ograniczonego zakresu liczby integer (liczba przez Ciebie podana wychodzi poza zakres integer dla przypomnienia -2^31...2^31)
programując musisz zaplanować z jak dużymi liczbami ma pracować skrypt, wtedy możesz świadomie zdecydować, czy chcesz użyc floor() czy rzutowania typów
na marginesie, pamiętaj, że float też jest ograniczony...