C#:
Arrotondamento dei numeri
Come fare:
Ecco il biglietto di andata e ritorno per arrotondare i numeri in C#:
using System;
public class EsempiDiArrotondamento
{
public static void Main()
{
double numeroOriginale = 123.4567;
// Arrotonda al numero intero più vicino
double arrotondato = Math.Round(numeroOriginale);
Console.WriteLine(arrotondato); // Output: 123
// Specifica il numero di cifre decimali
double arrotondatoDueCifreDecimali = Math.Round(numeroOriginale, 2);
Console.WriteLine(arrotondatoDueCifreDecimali); // Output: 123.46
// Arrotonda sempre per eccesso indipendentemente dalla cifra successiva
double arrotondatoPerEccesso = Math.Ceiling(numeroOriginale);
Console.WriteLine(arrotondatoPerEccesso); // Output: 124
// Arrotonda sempre per difetto indipendentemente dalla cifra successiva
double arrotondatoPerDifetto = Math.Floor(numeroOriginale);
Console.WriteLine(arrotondatoPerDifetto); // Output: 123
}
}
Approfondimento
Un tempo, arrotondare era uno stratagemma ovvio per ridurre i costi computazionali. Ogni ciclo contava, e tagliare i numeri risparmiava tempo prezioso. Avanzando fino al C# moderno, si tratta di gestire la famosa predisposizione di double e decimali agli errori di precisione e alle stranezze di visualizzazione.
Oltre a Math.Round
, Math.Floor
e Math.Ceiling
, l’enumerazione MidpointRounding
ci permette di decidere il destino di povere cifre in posizione mediana—è l’incrocio tra le regole bancarie e l’equità del parco giochi del “arrotonda per eccesso la metà”.
Per pubblici più esigenti, come applicazioni serie di matematica o finanza, abbiamo decimal
al posto di double
, riducendo il dramma dell’arrotondamento offrendo una precisione maggiore—meno arrotondamenti, meno problemi.