Float vs Double vs Decimal in C#

Muhammad Maisam Abbas 16 febbraio 2024
  1. Il tipo di dati Float in C#
  2. Il tipo di dati Double in C#
  3. Il tipo di dati Decimal in C#
  4. Float vs Double vs Decimal in C#
Float vs Double vs Decimal in C#

Questa esercitazione discuterà le somiglianze e le differenze tra i tipi di dati Float, Double e Decimal in C#.

Il tipo di dati Float in C#

Il tipo di dati Float memorizza i valori a virgola mobile in C#. La parola chiave float viene utilizzata per dichiarare una variabile float. Dobbiamo usare l’identificatore f durante l’inizializzazione per dire al compilatore che il valore è un valore a virgola mobile. Una variabile float ha una dimensione di 32 bit, il che significa che può memorizzare valori da -3.402823e38 a +3.402823e38. Una variabile float ha una precisione di 7 cifre in C#. L’esempio di codice seguente mostra come dichiarare una variabile float in C#.

using System;

namespace data_types {
  static void Main(string[] args) {
    float fval = 100.0f / 3;
    Console.WriteLine(fval);
  }
}
}

Produzione:

33.33333

Abbiamo inizializzato la variabile float fval con la parola chiave float e l’identificatore f in C#. L’output stampato mostra che la precisione di fval è di sole 7 cifre.

Il tipo di dati Double in C#

Il tipo di dati Double memorizza anche i valori a virgola mobile in C#. La parola chiave double viene utilizzata per dichiarare una doppia variabile. Dobbiamo usare l’identificatore d durante l’inizializzazione per dire al compilatore che il valore è un valore doppio. Una doppia variabile ha una dimensione di 64 bit, il che significa che può memorizzare valori da -1.79769313486232e308 a +1.79769313486232e308. Una doppia variabile ha una precisione di 15 cifre in C#. Il seguente esempio di codice ci mostra come possiamo dichiarare una doppia variabile in C#.

using System;

namespace data_types {
  static void Main(string[] args) {
    double dval = 100.0d / 3;
    Console.WriteLine(dval);
  }
}
}

Produzione:

33.3333333333333

Abbiamo inizializzato la variabile doppia dval con la parola chiave double e l’identificatore d in C#. L’output stampato mostra che la precisione del dval è di 15 cifre.

Il tipo di dati Decimal in C#

Il tipo di dati decimale memorizza anche i valori a virgola mobile in C#. La parola chiave decimal viene utilizzata per dichiarare una variabile decimale. Dobbiamo usare l’identificatore M durante l’inizializzazione per dire al compilatore che il valore è un valore decimale. Una variabile decimale ha una dimensione di 128 bit, il che significa che può memorizzare valori da -79,228,162,514,264,337,593,543,950,335 a +79,228,162,514,264,337,593,543,950,335. Una variabile decimale ha una precisione di 29 cifre in C#. L’esempio di codice seguente mostra come dichiarare una variabile decimale in C#.

using System;

namespace data_types {
  static void Main(string[] args) {
    decimal dval = 100.0M / 3;
    Console.WriteLine(dval);
  }
}
}

Produzione:

33.333333333333333333333333333

Abbiamo inizializzato la variabile decimale dval con la parola chiave decimal e l’identificatore M in C#. L’output stampato mostra che la precisione del dval è di 29 cifre.

Float vs Double vs Decimal in C#

I tipi di dati float e double hanno una precisione e una dimensione inferiori rispetto al tipo di dati decimal. Pertanto, il tipo di dati decimal è consigliato per la registrazione di informazioni sensibili che richiedono un numero elevato di cifre significative come le transazioni finanziarie. Tuttavia, il tipo di dati decimale è molto più lento dei tipi di dati float e double. Quindi, ogni volta che abbiamo a che fare con alcuni valori scientifici che sono già un’approssimazione e non richiedono una precisione molto elevata, possiamo utilizzare il tipo di dati float o double a seconda delle nostre esigenze.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Articolo correlato - Csharp Float

Articolo correlato - Csharp Double

Articolo correlato - Csharp Decimal