Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP: Floor

joah [30.07.2013 20:01:10]

#

Hei, olen pyöristämässä lukua aina alas viiden välein.

Olen testannut näin:

echo floor(57);

Koodi ei pyöristä lukua haluttuun 55-lukuun. Floor tosin pyöristää desimaaliluvut (esim. 57.7 -> 57). Olen etsinyt aika paljon vastausta, johon en ole kuitenkaan löytänyt vastausta. Joissain kysyminulta-sivustolla sanotaan, että kyllä se pitäis mennä, mutta mulla ei vaan nyt suostu menemään. Mikä olisi siis ratkaisu?

fergusq [30.07.2013 20:05:22]

#

floor pyöristää vain liukulukuja.

Tämä pyöristää kokonaisluvut 5 tarkkuudella alaspäin.

function pyorista($luku) {
	return $luku - $luku % 5;
}

Grez [31.07.2013 00:51:51]

#

joah kirjoitti:

Hei, olen pyöristämässä lukua aina alas viiden välein.

Olen testannut näin:

echo floor(57);

No mistä ajattelit että tuo koodi ymmärtäisi että luvut pitää "pyöristää" juuri 5 välein eikä esim. 7, 10 tai 13 välein?

Tuo fergusq:n ehdottama koodi toimii jos lähtökohtana on kokonaisluku. Jos lähtökohtana voi olla myös liukulukuja niin sen voi toki ensin säätää kokonaisluvuksi floorilla tai sitten tehdä esim näin:

echo floor(57/5)*5;

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta