Satvolta ho questo problema.
Dato un numero debbo arrotondarlo al cinque o alla decina più vicini, per difetto o per eccesso.
Faccio un esempio:
codice:
Numero Resto Azione Risultato
104495 0 no 104495
74908 3 eccesso 74910
88661 1 difetto 88660
71841 1 difetto 71840
41615 0 no 41615
78591 1 difetto 78591
Nella prima colonna c'è il numero da arrotondare
Nella seconda colonna ho usato la funzione fmod($numero, $divisore) per ottenere il modulo (resto) del numero diviso per 5.
Faccio un processo al numeretto della seconda colonna confrontandolo con la metà di 5 (2.5) per stabilire se e quale arrotondamento eseguire sul numero:
Codice PHP:
if ($resto1 == 0) {
$azione = "no";
} else {
if ($resto1 < $discriminante) {
$azione = "difetto";
} else {
$azione = "eccesso";
}
}
Fin qui tutto bene
Quel che non riesco a trovare è il numero da sottrarre o aggiungere per l'arrotondamento?
Qualcuno potrebbe darmi una dritta?
Può anche darsi che ho sbagliato l'approccio al problema. Sta di fatto che sono alcuni giorni che non ne vengo a capo.
Grazie per l'interessamento.