• User

    Distinzione numeri decimali

    Ciao,
    ho un problema con la distinzione dei numeri.

    Richiamo dati, da una tabella del mio db, fatti di numeri interi e decimali ai quali devo aggiungere uno determinata percentuale (es: 0.23%) da arrotondare in base a queste condizioni.

    esempio:

    0.8470 ( si puo' muovere di 5 in 5. Esempio: 0.8475, 08480, 08485 e cosi via)

    3,7225 ( si puo' muovere di quarti in quarti. Esempio: 3.7250, 3.7275, 3.73, 3.7325 e cosi via)

    1.4638 ( si puo' muovere di uno in uno. Esempio: 1.4638, 1.4639, 1.4640, 1.4641 e cosi via)

    16.67 ( si puo' muovere di uno in uno . Esempio: 16.67, 16.68, 16.69, 16.70 e cosi via)

    1498.75 ( si puo' muovere di quarti in quarti . Esempio: 1498.75 , 1499 , 1499.25 , 1499.50 e cosi via)

    37465 ( si puo' muovere di 5 in 5. Esempio: 37470 , 37475 , 37480, 37485 e cosi via).

    richiamo questi dati in unico modulo e quindi non posso formattarli tutti alla stessa maniera ( $num= number_format($num, 2, '.', '').

    Come posso fare affinchè ognuno abbia il proprio number_format?

    :xGrazie

    Nik06


  • User Attivo

    Ciao nik06,
    non mi è chiara la parte finale della domanda: puoi fare una cosa di questo tipo?

    *** $num1 = number_format($num1, 3, '.', '');
    $num2 = number_format($num2, 2, '.', '');

    ***se si, credo che te la puoi cavare con un po' di matematica...

    ad esempio 0.8736 arrotaondato a quarti (cioè a 0.0025 nel tuo caso):
    *round(0.8736/0.0025)0.0025=0.8725

    37467 arrotondato di 5 in 5:
    ***round(37467/5)*5=37465

    ***Ovviamente in rosso metti il valore cui vuoi arrotondare e poi formatti il tutto con number_format...

    Facci sapere com'è andata!
    :ciauz:


  • User

    Grazie mille,

    utilissimo!!

    Nik06