#2 Arrotondamenti, troncamenti, intero inferiore e superiore di numeri

Per tutte le versioni di VB.NET

Spesso si ha la necessità di arrotondare un numero reale secondo le normali regole di arrotondamento: all’intero più vicino. Es.:

    1,4 --> 1     1,7 --> 2

Per ottenere questo risultato si deve utilizzare il metodo

    System.Math.Round(numero)

Qualche volta invece serve troncare il numero, cioè prendere solamente la parte intera, scartando completamente la parte decimale. Es.:

    1,4 --> 1     1,7 --> 1

Si ottiene questo risultato con

    System.Math.Truncate(numero)

Certe volte può essere necessario individuare il numero intero immediatamente superiore o immediatamente inferiore. Es.:

    Superiore di 1,3 --> 2     Inferiore di 1,3 --> 1

Questi ultimi due si ottengono rispettivamente con:

    System.Math.Ceiling(d)   ' ceiling = soffitto, tetto

    System.Math.Floor(d)     ' floor = pavimento, piano  

About these ads

Pubblicato il 15 gennaio 2008 su Tips. Aggiungi ai preferiti il collegamento . 2 commenti.

  1. ma access non ha la funz. ceiling.. come faccio ?
    se uso round mi arrotonda come dice lui (es. 0,14 = 0,1 ; 0,16 = 0,2) io devo arrotondare al superiore…
    Grazzzzie

  2. Infatti all’inizio di questa “tip” è indicato che le istruzioni sono valide per tutte le versioni di VB.NET.
    MS Access utilizza il linguaggio VBA (Visual Basic for Applications) che è più simile a Visual Basic 6.0 (dell’epoca pre-VB.NET).

    Per arrotondare sempre al valore superiore potresti seguire un semplice algoritmo:

    1) moltiplichi il valore per 10 se vuoi arrotondare alla prima cifra decimale, per 100 per la seconda cifra decimale e così via;
    2) aggiungi un numero decimale “grande” per aumentare il valore intero
    3) tronchi al valore intero
    4) dividi nuovamente il valore per 10, 100 o altro valore che hai utilizzato al punto 1).

    Per esempio, per arrotondare 0,14 alla prima cifra decimale procedi così:

    1) 0,14 x 10 = 1,4
    2) 1,4 + 0,9 = 2,3
    4) int(2,3) = 2
    5) 2 / 10 = 0,2

    … e quindi ottieni 0,14 –> 0,2.

    Tutto il calcolo si può unificare in un’unica riga:
    (int((0,14 * 10) + 0,9))/10

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 846 follower

%d blogger cliccano Mi Piace per questo: