Passer au contenu du pied de page
.NET AIDE

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

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 grandes catégories : les types entiers et les types à virgule flottante. Chaque catégorie a ses propres caractéristiques et cas d'utilisation uniques.

Les types numériques forment la base de nombreuses opérations en C#, des calculs financiers et monétaires aux algorithmes complexes. Si vous souhaitez maîtriser C#, vous devrez maîtriser ces types de valeurs.

Types de données d'entiers

Les types de données d'entiers sont utilisés pour stocker des nombres entiers et peuvent être signés (capables de contenir des nombres positifs et négatifs) ou non signés (capables de contenir uniquement des nombres positifs). Voici un aperçu des types d'entiers en C# :

byte

Le byte est le type d'entier le plus petit. C'est un type non signé, avec une valeur par défaut de 0, capable de stocker des valeurs de 0 à 255.

sbyte

Le sbyte est l'équivalent signé du byte. Il peut stocker des valeurs de -128 à 127, avec une valeur par défaut de 0.

short

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

ushort

ushort est l'équivalent non signé du short. Il peut contenir des valeurs de 0 à 65,535. Sa valeur par défaut est également 0.

int

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

uint

Le uint, diminutif de "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 de -9,223,372,036,854,775,808 à 9,223,372,036,854,775,807. La valeur par défaut d'un long est 0L.

ulong

Le ulong, ou entier long non signé, 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 plage de valeurs beaucoup plus large que les types d'entiers, mais au prix d'une diminution de la précision. Voici les types de virgule flottante en C# :

float

Un float est un type à virgule flottante de 32 bits. Il peut représenter des valeurs d'approximativement 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 d'approximativement 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.

decimal

Le type decimal est un type de données de 128 bits. Il est souvent utilisé lors de calculs financiers nécessitant une haute précision. Il peut représenter des valeurs d'approximativement 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 decimal est 0.0m.

Comprendre les types d'entiers de taille native

Les types d'entiers de taille native sont des types spéciaux en C# qui ont une taille qui varie en fonction de la plateforme sur laquelle le code s'exécute. Ils sont conçus pour offrir une utilisation de mémoire la plus efficace possible pour le stockage de valeurs entières.

IntPtr

IntPtr est un type d'entier signé qui a la même largeur qu'un pointeur. Cela signifie qu'il est de 32 bits sur les plateformes 32 bits et de 64 bits sur les plateformes 64 bits. C'est utile lors de tâches liées aux pointeurs ou à la mémoire, et la valeur par défaut d'un IntPtr est 0.

UIntPtr

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

Conversion entre les types entiers et à 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'adapte au 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 cast, sont requises lorsqu'il y a un risque de perte de données. Par exemple, convertir un long en un int peut entraîner une perte de données si la valeur du long est plus grande que ce qu'un int peut contenir.

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

long myLong = 5000L;
int myInt = (int)myLong; // This is an explicit cast from long to int.
                         // Be cautious if myLong > 2,147,483,647 as it may cause data loss.
long myLong = 5000L;
int myInt = (int)myLong; // This is an explicit cast from long to int.
                         // Be cautious if myLong > 2,147,483,647 as it may cause data loss.
Dim myLong As Long = 5000L
Dim myInt As Integer = CInt(myLong) ' This is an explicit cast from long to int.
						 ' Be cautious if myLong > 2,147,483,647 as it may cause data loss.
$vbLabelText   $csharpLabel

Soyez prudent lors de cast, car cela peut entraîner des résultats inattendus si la valeur est en dehors de la plage du type cible.

Application des types numériques avec IronPDF

IronPDF est une bibliothèque PDF .NET légère conçue spécifiquement pour les développeurs web. Elle simplifie la lecture, l'écriture et la manipulation des fichiers PDF, capable de convertir toutes sortes de types de fichiers en contenu PDF, et vous pouvez l'utiliser dans vos projets .NET aussi bien pour le bureau que pour le web. La meilleure partie - elle est gratuite à essayer dans un environnement de développement.

Examinons la mise en œuvre des types en C# en utilisant IronPDF.

Positionnement et taille des éléments

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

using IronPdf;

var htmlToPdf = new ChromePdfRenderer();
htmlToPdf.RenderingOptions.MarginTop = 50;    // Set top margin in points.
htmlToPdf.RenderingOptions.MarginBottom = 50; // Set bottom margin in points.

var document = htmlToPdf.RenderHtmlAsPdf("<h1>Numeric Types in C# with IronPDF</h1>");
document.SaveAs("C:\\numericTypes.pdf");       // Save the generated PDF to the specified path.
using IronPdf;

var htmlToPdf = new ChromePdfRenderer();
htmlToPdf.RenderingOptions.MarginTop = 50;    // Set top margin in points.
htmlToPdf.RenderingOptions.MarginBottom = 50; // Set bottom margin in points.

var document = htmlToPdf.RenderHtmlAsPdf("<h1>Numeric Types in C# with IronPDF</h1>");
document.SaveAs("C:\\numericTypes.pdf");       // Save the generated PDF to the specified path.
Imports IronPdf

Private htmlToPdf = New ChromePdfRenderer()
htmlToPdf.RenderingOptions.MarginTop = 50 ' Set top margin in points.
htmlToPdf.RenderingOptions.MarginBottom = 50 ' Set bottom margin in points.

Dim document = htmlToPdf.RenderHtmlAsPdf("<h1>Numeric Types in C# with IronPDF</h1>")
document.SaveAs("C:\numericTypes.pdf") ' Save the generated PDF to the specified path.
$vbLabelText   $csharpLabel

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 nombre sont une partie importante d'une programmation C# efficace et efficiente. Ils servent de base pour la manipulation des données, la conception d'algorithmes et la création de documents PDF de haute qualité.

Vous voulez obtenir IronPDF ? Vous pouvez commencer avec notre essai gratuit de 30 jours. C'est aussi totalement gratuit à utiliser à des fins de développement afin que vous puissiez vraiment voir ce dont il est fait. Et si vous aimez ce que vous voyez, IronPDF commence à partir de liteLicense. Pour encore plus d'économies, consultez le Iron Suite où vous pouvez obtenir les neuf outils Iron Software pour le prix de deux. Bonne programmation !

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

Questions Fréquemment Posées

Comment puis-je convertir du contenu HTML en PDF en utilisant C# ?

Vous pouvez convertir du contenu HTML en PDF en C# en utilisant la méthode RenderHtmlAsPdf d'IronPDF, qui vous permet de transformer des chaînes HTML directement en documents PDF. De plus, vous pouvez utiliser RenderHtmlFileAsPdf pour convertir des fichiers HTML.

Quelles sont les principales différences entre les types entiers et les types à virgule flottante en C#?

En C#, les types entiers sont utilisés pour les nombres entiers et incluent des types comme byte, int et long. Les types à virgule flottante, tels que float et double, gèrent les nombres avec des virgules décimales, offrant une plage plus large mais moins de précision.

Pourquoi utiliserais-je un type décimal plutôt qu'un double en C#?

Le type décimal offre une précision plus élevée, ce qui le rend idéal pour les calculs financiers où la représentation exacte des décimales est cruciale. Il peut représenter des valeurs avec une précision de 28-29 chiffres, contre 15-16 chiffres pour un double.

Comment les types entiers de taille native bénéficient-ils aux développeurs C#?

Les types entiers de taille native comme IntPtr et UIntPtr ajustent leur taille en fonction de la plateforme, offrant une efficacité en mémoire pour des tâches telles que la gestion des adresses mémoire et des pointeurs dans des scénarios spécifiques à la plateforme.

Quel rôle jouent les types numériques dans la génération de PDF avec .NET?

Les types numériques dans la génération de PDF .NET sont essentiels pour définir la mise en page des éléments PDF. Par exemple, les nombres à virgule flottante peuvent spécifier la taille et la position précises du texte et des images sur une page PDF en utilisant IronPDF.

Quelles sont les conversions implicites et explicites en C#?

Les conversions implicites en C# se produisent lorsque le type de destination peut stocker la valeur source sans perte de données. Les conversions explicites, ou castings, nécessitent une intervention manuelle, souvent en utilisant un opérateur de conversion, en raison de la perte potentielle de données.

Comment puis-je évaluer une bibliothèque PDF .NET pour mon projet?

Vous pouvez évaluer une bibliothèque PDF .NET comme IronPDF en profitant de son essai gratuit de 30 jours. Cela vous permet d'explorer ses fonctionnalités pendant le développement avant de décider d'acheter une licence.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite