Avatar billede aortsx Nybegynder
16. april 2001 - 21:30 Der er 5 kommentarer og
1 løsning

Heltalsdivision ??

Er de en der har en opskrift på at lave heltalsdivision i php?

Fx. som i Pascal hvor 8 div 3 = 2

php har tilsyneladende kun operatoren \"/\", og der returneres en float hvis ikke regnestykket \"går op\"

m.v.h. Anders
Avatar billede half_d Nybegynder
16. april 2001 - 21:41 #1
Du kan f.eks. bruge floot() som runder ned til nærmeste heltal.
floor(8/3); (ved ikke lige om man kan gøre det sådan der.)
floor($tal);

Tjekker lige mine bøger for mere
Avatar billede top Nybegynder
16. april 2001 - 21:41 #2
Du kan caste til en int med (int)var
dvs
$a=8/3
echo (int)$a
Avatar billede half_d Nybegynder
16. april 2001 - 21:44 #3
eller ceil() som runder op.
Avatar billede half_d Nybegynder
16. april 2001 - 21:48 #4
Der er også functionen round() som runder tal af. Men den returnerer en double :

$foo = round (3.4);  // $foo == 3.0
$foo = round (3.5);  // $foo == 4.0
$foo = round (3.6);  // $foo == 4.0

Så kan man jo caste den til en int.
Avatar billede aortsx Nybegynder
16. april 2001 - 22:37 #5
Tak for indsatsen begge 2. Jeg valgte løsningen med floor(), den virker fint. Derimod vil ceil() nok ikke virke efter hensigten idet den jo runder op, og dermed ikke giver en ægte heltalsdiv.

Til top: din løsning er formodentlig OK, men nu kom half d altså først, selvom det var med små marginaler.
Hejsa
Avatar billede mikkelfunck Nybegynder
17. april 2001 - 09:17 #6
For at være helt korrekt:

$modulus = bcmod(\"8\",\"3\");
echo $modulus;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester