/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
dividere tal i PHP
Fra : Niels Bachmann


Dato : 23-07-04 19:24

Jeg sidder og nørkler med et script, hvori jeg har brug for at dividere
nogle tal, og få antallet af hele gange tallene gik op, samt rest ud.

fx:
$res = ( 102 / 5 );
echo "$res";

udskriver 20,4

Jeg har brug for 20 + de 2 overskydene

hvordan løser man det?

MVH/ Niels Bachmann



 
 
Jimmy (23-07-2004)
Kommentar
Fra : Jimmy


Dato : 23-07-04 19:41


"Niels Bachmann" <niels@_NOSPAM_bachmann.nu> wrote in message
news:cdrl49$1idu$1@news.cybercity.dk...
> Jeg sidder og nørkler med et script, hvori jeg har brug for at dividere
> nogle tal, og få antallet af hele gange tallene gik op, samt rest ud.
>
> fx:
> $res = ( 102 / 5 );
> echo "$res";
>
> udskriver 20,4
>
> Jeg har brug for 20 + de 2 overskydene

Man *kunne* gøre således:

<?php

$a = 102;
$b = 5;

$Remainder = ($a % $b);
$Wholes = ($a - $Remainder) / $b;

echo $Wholes ." - ". $Remainder;

?>

Der er dog gansket giver bedre muligheder indbygget i PHP, som jeg ikke
kender til.

Mvh
Jimmy



Tommy Ipsen (23-07-2004)
Kommentar
Fra : Tommy Ipsen


Dato : 23-07-04 23:10

Niels Bachmann wrote:

> Jeg sidder og nørkler med et script, hvori jeg har brug for at dividere
> nogle tal, og få antallet af hele gange tallene gik op, samt rest ud.
>
> fx:
> $res = ( 102 / 5 );
> echo "$res";
>
> udskriver 20,4
>
> Jeg har brug for 20 + de 2 overskydene

echo 102%5; // modulus-operatoren - =resten ved heltalsdivision
echo (int) (102/5); //type caster til int-typen og får dermed
heltalsværdien tilbage - undersøg om opførslen for negative værdier er
hvad du forventer - ellers evt. noget afrunding.

Mvh Tommy

Jacob Atzen (25-07-2004)
Kommentar
Fra : Jacob Atzen


Dato : 25-07-04 11:11

Tommy Ipsen <tipsen@imada.sdu.dk> writes:

> Niels Bachmann wrote:
>
> > Jeg sidder og nørkler med et script, hvori jeg har brug for at
> > dividere nogle tal, og få antallet af hele gange tallene gik op,
> > samt rest ud. fx:
> >
> > $res = ( 102 / 5 );
> > echo "$res";
> > udskriver 20,4
> > Jeg har brug for 20 + de 2 overskydene
>
> echo 102%5; // modulus-operatoren - =resten ved heltalsdivision
> echo (int) (102/5); //type caster til int-typen og får dermed

Den er ikke helt pæn. Der advares direkte mod at caste en ukendt brøk
til integer:

<http://dk2.php.net/manual/en/language.types.integer.php#language.types.integer.casting>

Så hellere:

$modulus = 102%5;
$quotient = (int)(round((102 - $modulus) / 5));

--
Med venlig hilsen
- Jacob Atzen

Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408850
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste