Arrotondamento numero al multiplo di 10 più vicino

Home Forum FORUM ELETTRONICA MICROCONTROLLORI E CODICI Arrotondamento numero al multiplo di 10 più vicino

Questo argomento contiene 1 risposta, ha 2 partecipanti, ed è stato aggiornato da  ne555 2 mesi, 1 settimana fa. This post has been viewed 97 times

Stai vedendo 2 articoli - dal 1 a 2 (di 2 totali)
  • Autore
    Articoli
  • #4981

    Luigi Fassio
    Partecipante

    Ciao,
    Come da titolo ho bisogno di arrotondare un numero all’intero multiplo di 10 più vicino, ovvero se la temperatura è 233 gradi questo deve essere arrotondato a a 230 mentre se è 257 deve essere arrotondato a 260. Come potrei fare con mikroc?

    #4994

    ne555
    Amministratore del forum

    Ciao, potresti usare la seguente sottofunzione:

    unsigned int arrotonda (unsigned int numero){ //numero = valore da arrotondare
    short resto = 0; //inizializza resto a 0
    resto = numero % 10; //trova il resto della divisione per 10

    if (resto > 5) numero += (10 – resto); //se resto > 5 approssima per eccesso
    else numero =- resto; //altrimenti approssima per difetto

    return numero; //ritorna il valore arrotondato
    }

    il problema però è che il valore 125 in questo caso viene portato a 120, se ti serve che i valori xx5 vengano arrotondati per eccesso devi solo mettere >= nell’IF

Stai vedendo 2 articoli - dal 1 a 2 (di 2 totali)

Devi essere loggato per rispondere a questa discussione.