AIDE .NET

Types numériques en C# (Comment ça marche pour les développeurs)

Publié août 15, 2024
Partager:

En C#, les types numériques sont un ensemble de types de données utilisés pour stocker des nombres et peuvent être divisés en deux catégories principales : les types entiers et les types à virgule flottante. Chaque catégorie a ses propres caractéristiques uniques et ses cas d'utilisation.

Les types numériques constituent la base de nombreuses opérations en C#, depuis les calculs financiers et monétaires jusqu'aux algorithmes complexes. Si vous cherchez à maîtriser C#, vous devrez maîtriser ces types de valeur.

Types de données entières

Les types de données entiers sont utilisés pour stocker des nombres entiers et peuvent être signés(capable de contenir des nombres à la fois positifs et négatifs)ou non signé(capable de contenir uniquement des nombres positifs). Voici une présentation des types d'entiers en C# :

octet

L'octet est le plus petit type d'entier. Il s'agit d'un type non signé, avec une valeur par défaut de 0, capable de stocker la même valeur de 0 à 255.

sbyte

Le sbyte est la version signée du byte. Il peut stocker des valeurs comprises entre -128 et 127, avec une valeur par défaut de 0.

court

Un short est un entier signé de 16 bits. Il a une plage plus large que le byte et le sbyte, allant de -32768 à 32767, avec une valeur par défaut de 0.

ushort

ushort est la version non signée de short. Il peut contenir des valeurs comprises entre 0 et 65535. Sa valeur par défaut est également 0.

int

Un type int est un entier signé de 32 bits, avec une plage de valeurs allant de -2 147 483 648 à 2 147 483 647. La valeur par défaut d'une variable entière de type int est 0.

uint

Le uint, abréviation de "unsigned integer" (entier non signé), peut contenir des valeurs de 0 à 4 294 967 295. Sa valeur par défaut est 0.

long

Long est un type d'entier signé de 64 bits, capable de stocker des valeurs comprises entre -9,223,372,036,854,775,808 et 9,223,372,036,854,775,807. La valeur par défaut d'un long est 0L.

ulong

Le ulong, ou unsigned long, peut stocker des valeurs de 0 à 18 446 744 073 709 551 615. Sa valeur par défaut est 0UL.

Types de nombres à virgule flottante

Les types à virgule flottante sont utilisés pour stocker des nombres avec un point décimal. Un nombre à virgule flottante offre une gamme de valeurs beaucoup plus large que les types entiers, mais avec un compromis sur la précision. Voici les types de virgule flottante en C# :

flotteur

Un flottant est un type de point flottant de 32 bits. Il peut représenter des valeurs allant d'environ 1,5 x 10^-45 à 3,4 x 10^38, avec une précision de 7 chiffres. La valeur par défaut d'une variable à virgule flottante de type float est 0,0f.

double

Le type double est un type à virgule flottante de 64 bits. Il peut représenter des valeurs allant d'environ 5,0 x 10^-324 à 1,7 x 10^308, avec une précision de 15 à 16 chiffres. La valeur par défaut d'un double est 0,0d.

décimal

Le type décimal est un type de données de 128 bits. Il est souvent utilisé dans le cadre de calculs financiers nécessitant une grande précision. Il peut représenter des valeurs allant d'environ 1,0 x 10^-28 à 7,9 x 10^28, avec une précision de 28-29 chiffres. La valeur par défaut d'un type décimal est 0,0 m.

Comprendre les types d'entiers de taille native

Les types d'entiers de taille native sont des types spéciaux en C# dont la taille varie en fonction de la plate-forme sur laquelle le code est exécuté. Ils sont conçus pour permettre l'utilisation la plus efficace possible de la mémoire pour le stockage des valeurs entières.

IntPtr

IntPtr est un type entier signé qui a la même largeur qu'un pointeur. Cela signifie qu'il est 32 bits sur les plates-formes 32 bits et 64 bits sur les plates-formes 64 bits. Cette fonction est utile lorsqu'il s'agit de pointeurs ou de tâches liées à la mémoire, et la valeur par défaut d'un IntPtr est 0.

UIntPtr

UIntPtr, la version non signée de IntPtr, a également la même taille qu'un pointeur. Il offre la même plage de valeurs que IntPtr sur la même plateforme, mais uniquement pour des valeurs non négatives. La valeur par défaut d'un UIntPtr est également 0.

Conversion entre types entiers et types à virgule flottante

Selon le cas d'utilisation, il est important d'utiliser le type de données correct dans votre code. Dans de nombreux cas, vous pouvez avoir une valeur d'un type et avoir besoin de l'utiliser comme un autre type.

Les conversions implicites se produisent automatiquement lorsque la valeur à convertir s'insère dans le nouveau type de données sans perdre d'informations. Par exemple, vous pouvez convertir implicitement un int en un long, car un long peut stocker la même valeur qu'un int.

Les conversions explicites, également appelées "casting", sont nécessaires lorsqu'il existe un risque de perte de données. Par exemple, la conversion d'un long en un int peut entraîner une perte de données si la valeur du long est supérieure à ce qu'un int peut contenir.

Pour convertir explicitement une valeur d'un type à un autre, vous pouvez utiliser l'opérateur de conversion():

long myLong = 5000L;
int myInt = (int)myLong; // This is an explicit cast.
long myLong = 5000L;
int myInt = (int)myLong; // This is an explicit cast.
Dim myLong As Long = 5000L
Dim myInt As Integer = CInt(myLong) ' This is an explicit cast.
VB   C#

Soyez prudent lorsque vous effectuez un casting, car cela peut conduire à des résultats inattendus si la valeur est en dehors de la plage du type cible.

Application de types numériques avec IronPDF

IronPDF est une bibliothèque PDF .NET légère conçue spécialement pour les développeurs web. Cela rend la lecture, l'écriture et la manipulation des fichiers PDF très facile, capable de convertir toutes sortes de types de fichiers en contenu PDF, et vous pouvez l'utiliser dans vos projets .NET pour à la fois le bureau et le web. Le meilleur - c'est gratuit à essayer dans un environnement de développement.

Jetons un coup d'œil à l'implémentation des types en C# en utilisant IronPDF.

Éléments de positionnement et de dimensionnement

Dans cet exemple, nous ajusterons la position et la taille des éléments sur une page. Dans IronPDF, les coordonnées sont définies à l'aide d'un type à virgule flottante.

using IronPdf;
var htmlToPdf = new ChromePdfRenderer();
htmlToPdf.RenderingOptions.MarginTop= 50; // Set top margin. Value is in points.
htmlToPdf.RenderingOptions.MarginBottom= 50; // Set bottom margin. Value is in points.
var document = htmlToPdf.RenderHtmlAsPdf("<h1>Numeric Types in C# with IronPDF</h1>");
document.SaveAs("C:\\numericTypes.pdf");
using IronPdf;
var htmlToPdf = new ChromePdfRenderer();
htmlToPdf.RenderingOptions.MarginTop= 50; // Set top margin. Value is in points.
htmlToPdf.RenderingOptions.MarginBottom= 50; // Set bottom margin. Value is in points.
var document = htmlToPdf.RenderHtmlAsPdf("<h1>Numeric Types in C# with IronPDF</h1>");
document.SaveAs("C:\\numericTypes.pdf");
Imports IronPdf
Private htmlToPdf = New ChromePdfRenderer()
htmlToPdf.RenderingOptions.MarginTop= 50 ' Set top margin. Value is in points.
htmlToPdf.RenderingOptions.MarginBottom= 50 ' Set bottom margin. Value is in points.
Dim document = htmlToPdf.RenderHtmlAsPdf("<h1>Numeric Types in C# with IronPDF</h1>")
document.SaveAs("C:\numericTypes.pdf")
VB   C#

Fichier PDF de sortie

Comprendre les types numériques C#, Image #1

Conclusion

Des calculs de base à la personnalisation de la mise en page d'un PDF généré, les types de nombres sont une partie importante d'une programmation C# efficace et efficiente. Ils servent de base à la manipulation des données, à la conception d'algorithmes et à la création de documents PDF de haute qualité.

Vous souhaitez mettre la main sur IronPDF ? Vous pouvez commencer avec notreessai gratuit de 30 jours. C'est également totalement gratuit à utiliser à des fins de développement, ce qui vous permet de vraiment voir de quoi il est fait. Et si vous aimez ce que vous voyez, IronPDF commence à partir de$749. Pour des économies encore plus importantes, consultez leIron Suiteoù vous pouvez obtenir les neuf outils Iron Software pour le prix de deux. Bon codage!

Comprendre les types numériques C#, Image #2

< PRÉCÉDENT
Blazor vs MVC (Comment ça marche pour les développeurs)
SUIVANT >
Types C# (Comment ça marche pour les développeurs)