Passer au contenu du pied de page
.NET AIDE

Mathématiques C# (Comment ça fonctionne pour les développeurs)

C# est l'un des langages de programmation populaires pour créer des applications dynamiques et évolutives. L'une des forces de ce langage réside dans sa vaste bibliothèque de fonctions intégrées, notamment les fonctions mathématiques. Dans ce tutoriel, nous explorerons en profondeur les différentes fonctions mathématiques fournies par C#, vous aidant à vous familiariser avec la classe Math et comment effectuer facilement des équations mathématiques courantes.

Démarrage

En C#, la classe Math est une classe statique disponible dans le espace de noms System. Cette classe contient une pléthore de méthodes conçues pour aider les développeurs à effectuer des opérations mathématiques sans avoir besoin de les écrire à partir de zéro.

Comment accéder à la classe Math

Pour accéder à la classe Math, vous devez inclure l'espace de noms System dans votre classe publique Program. Voici comment :

using System;

public class Program
{
    // Entry point of the program
    public static void Main()
    {
        // Your code goes here
    }
}
using System;

public class Program
{
    // Entry point of the program
    public static void Main()
    {
        // Your code goes here
    }
}
Imports System

Public Class Program
	' Entry point of the program
	Public Shared Sub Main()
		' Your code goes here
	End Sub
End Class
$vbLabelText   $csharpLabel

Dans la méthode public static void Main, vous pouvez appeler n'importe quelle fonction de la classe Math en référencant Math. et en utilisant le paramètre de sortie qui peut également être un point flottant.

Fonctions mathématiques de base

Regardons quelques fonctions mathématiques de base que C# fournit :

Valeur absolue : La valeur absolue d'un nombre spécifié est sa valeur sans son signe. La fonction Math.Abs() prend un nombre en entrée et renvoie la valeur absolue.

double val = -10.5;
double absValue = Math.Abs(val); // Function returns absolute value
Console.WriteLine(absValue); // Output: 10.5
double val = -10.5;
double absValue = Math.Abs(val); // Function returns absolute value
Console.WriteLine(absValue); // Output: 10.5
Dim val As Double = -10.5
Dim absValue As Double = Math.Abs(val) ' Function returns absolute value
Console.WriteLine(absValue) ' Output: 10.5
$vbLabelText   $csharpLabel

Racine carrée : Pour trouver la racine carrée d'un nombre spécifié, vous utilisez la fonction Math.Sqrt(). Cette fonction calcule la racine carrée et renvoie une valeur double comme illustré dans l'exemple suivant :

double value = 16;
double sqrtValue = Math.Sqrt(value);
Console.WriteLine(sqrtValue); // Output: 4
double value = 16;
double sqrtValue = Math.Sqrt(value);
Console.WriteLine(sqrtValue); // Output: 4
Dim value As Double = 16
Dim sqrtValue As Double = Math.Sqrt(value)
Console.WriteLine(sqrtValue) ' Output: 4
$vbLabelText   $csharpLabel

Arrondir les nombres : C# propose plusieurs fonctions pour arrondir les nombres au nombre entier le plus proche ou à un nombre spécifié de décimales. La fonction Math.Round() arrondit une valeur à virgule flottante au nombre entier le plus proche :

double value = 10.75;
double roundedValue = Math.Round(value); // Rounds to the nearest whole number
Console.WriteLine(roundedValue); // Output: 11
double value = 10.75;
double roundedValue = Math.Round(value); // Rounds to the nearest whole number
Console.WriteLine(roundedValue); // Output: 11
Dim value As Double = 10.75
Dim roundedValue As Double = Math.Round(value) ' Rounds to the nearest whole number
Console.WriteLine(roundedValue) ' Output: 11
$vbLabelText   $csharpLabel

Fonctions trigonométriques et hyperboliques

En plus des opérations arithmétiques de base, la classe Math en C# fournit également une gamme de fonctions trigonométriques et hyperboliques.

Valeur du sinus : Pour trouver la valeur du sinus d'un angle spécifié (en radians), utilisez Math.Sin().

double angle = Math.PI / 2; // 90 degrees in radians
double sineValue = Math.Sin(angle);
Console.WriteLine(sineValue); // Output: 1
double angle = Math.PI / 2; // 90 degrees in radians
double sineValue = Math.Sin(angle);
Console.WriteLine(sineValue); // Output: 1
Dim angle As Double = Math.PI / 2 ' 90 degrees in radians
Dim sineValue As Double = Math.Sin(angle)
Console.WriteLine(sineValue) ' Output: 1
$vbLabelText   $csharpLabel

Fonctions hyperboliques : Elles sont similaires aux fonctions trigonométriques mais sont utilisées pour les équations hyperboliques. Quelques exemples incluent Math.Sinh() (sinus hyperbolique), Math.Cosh() (cosinus hyperbolique), et Math.Tanh() (tangente hyperbolique).

double value = 1;
double hyperbolicSine = Math.Sinh(value);
double hyperbolicCosine = Math.Cosh(value);
double hyperbolicTangent = Math.Tanh(value);
double value = 1;
double hyperbolicSine = Math.Sinh(value);
double hyperbolicCosine = Math.Cosh(value);
double hyperbolicTangent = Math.Tanh(value);
Dim value As Double = 1
Dim hyperbolicSine As Double = Math.Sinh(value)
Dim hyperbolicCosine As Double = Math.Cosh(value)
Dim hyperbolicTangent As Double = Math.Tanh(value)
$vbLabelText   $csharpLabel

Fonctions mathématiques avancées

Pour ceux qui recherchent des opérations plus avancées :

Puissance : La fonction Math.Pow() prend deux doubles en entrée : une base et un exposant. Elle renvoie le nombre de base élevé à la puissance spécifiée.

double baseNum = 2;
double exponent = 3;
double result = Math.Pow(baseNum, exponent);
Console.WriteLine(result); // Output: 8
double baseNum = 2;
double exponent = 3;
double result = Math.Pow(baseNum, exponent);
Console.WriteLine(result); // Output: 8
Dim baseNum As Double = 2
Dim exponent As Double = 3
Dim result As Double = Math.Pow(baseNum, exponent)
Console.WriteLine(result) ' Output: 8
$vbLabelText   $csharpLabel

Logarithme : C# propose la fonction Math.Log(), qui calcule le logarithme naturel (base e) d'un nombre spécifié. De plus, vous pouvez spécifier une base en utilisant Math.Log(nombre, base spécifiée).

double value = 10;
double naturalLog = Math.Log(value); // Natural logarithm base e
double logBase10 = Math.Log(value, 10); // Base 10 logarithm
double value = 10;
double naturalLog = Math.Log(value); // Natural logarithm base e
double logBase10 = Math.Log(value, 10); // Base 10 logarithm
Dim value As Double = 10
Dim naturalLog As Double = Math.Log(value) ' Natural logarithm base e
Dim logBase10 As Double = Math.Log(value, 10) ' Base 10 logarithm
$vbLabelText   $csharpLabel

Nombres complexes en C#

Bien que ce tutoriel traite principalement des fonctions de base et intermédiaires, il est important de noter que C# propose un support pour les nombres complexes.

Créer un nombre complexe : Utilisez la classe Complex de l'espace de noms System.Numerics. Ce n'est pas une partie de la classe Math, mais c'est essentiel pour les opérations mathématiques impliquant des nombres complexes.

using System.Numerics;

Complex complexNumber = new Complex(2, 3); // Represents 2 + 3i
using System.Numerics;

Complex complexNumber = new Complex(2, 3); // Represents 2 + 3i
Imports System.Numerics

Private complexNumber As New Complex(2, 3) ' Represents 2 + 3i
$vbLabelText   $csharpLabel

Fonctions de conversion dans la classe Math

Souvent, les développeurs ont besoin de convertir entre différents types de valeurs numériques :

Convertir en entier : Si vous avez un double et souhaitez le convertir en entier en supprimant sa valeur décimale, utilisez la méthode Convert.ToInt32().

double value = 10.99;
int intValue = Convert.ToInt32(value);
Console.WriteLine(intValue); // Output: 11 (rounds 10.99 to the nearest integer)
double value = 10.99;
int intValue = Convert.ToInt32(value);
Console.WriteLine(intValue); // Output: 11 (rounds 10.99 to the nearest integer)
Dim value As Double = 10.99
Dim intValue As Integer = Convert.ToInt32(value)
Console.WriteLine(intValue) ' Output: 11 (rounds 10.99 to the nearest integer)
$vbLabelText   $csharpLabel

Décimal à binaire : C# n'a pas de méthode directe dans la classe Math pour cela. Cependant, vous pouvez utiliser la fonction Convert.ToString(valeur, 2) de l'espace de noms System.

int value = 42;
string binary = Convert.ToString(value, 2); // Converts 42 to binary
Console.WriteLine(binary); // Output: 101010
int value = 42;
string binary = Convert.ToString(value, 2); // Converts 42 to binary
Console.WriteLine(binary); // Output: 101010
Dim value As Integer = 42
Dim binary As String = Convert.ToString(value, 2) ' Converts 42 to binary
Console.WriteLine(binary) ' Output: 101010
$vbLabelText   $csharpLabel

Erreurs et gestion des exceptions avec les fonctions mathématiques

Lors de l'utilisation des fonctions Math, vous pouvez parfois rencontrer des erreurs, telles que la division par zéro. Il est essentiel de gérer ces pièges potentiels :

Division par zéro : Utilisez une instruction conditionnelle pour vérifier le diviseur avant d'effectuer une division.

double numerator = 10;
double denominator = 0;

if (denominator != 0)
{
    double result = numerator / denominator;
    Console.WriteLine(result);
}
else
{
    Console.WriteLine("Cannot divide by zero!");
}
double numerator = 10;
double denominator = 0;

if (denominator != 0)
{
    double result = numerator / denominator;
    Console.WriteLine(result);
}
else
{
    Console.WriteLine("Cannot divide by zero!");
}
Dim numerator As Double = 10
Dim denominator As Double = 0

If denominator <> 0 Then
	Dim result As Double = numerator / denominator
	Console.WriteLine(result)
Else
	Console.WriteLine("Cannot divide by zero!")
End If
$vbLabelText   $csharpLabel

Gérer le dépassement : Lorsque qu'une opération mathématique aboutit à une valeur trop grande pour son type de donnée, un dépassement se produit. Utilisez des blocs vérifiés pour intercepter cette exception.

try
{
    checked
    {
        int result = checked(int.MaxValue + 1); // This will cause an overflow
    }
}
catch (OverflowException ex)
{
    Console.WriteLine("Overflow occurred: " + ex.Message);
}
try
{
    checked
    {
        int result = checked(int.MaxValue + 1); // This will cause an overflow
    }
}
catch (OverflowException ex)
{
    Console.WriteLine("Overflow occurred: " + ex.Message);
}
Try
'INSTANT VB TODO TASK: There is no equivalent to a 'checked' block in VB:
'	checked
'INSTANT VB TODO TASK: There is no VB equivalent to 'checked' in this context:
'ORIGINAL LINE: int result = checked(int.MaxValue + 1);
		Dim result As Integer = Integer.MaxValue + 1 ' This will cause an overflow
'INSTANT VB TODO TASK: End of the original C# 'checked' block.
Catch ex As OverflowException
	Console.WriteLine("Overflow occurred: " & ex.Message)
End Try
$vbLabelText   $csharpLabel

Présentation de l'Iron Suite : Un puissant ensemble d'outils pour les développeurs C

Alors que nous explorons les capacités de C#, il convient de noter que l'écosystème autour de ce langage de programmation a énormément évolué. Une telle contribution se présente sous la forme d'Iron Suite, un ensemble d'outils complet destiné aux développeurs C#. Il propose un ensemble de produits qui peuvent dynamiser vos applications, garantissant qu'elles sont robustes et riches en fonctionnalités.

IronPDF

C# Math (Comment ça marche pour les développeurs) Figure 1 - IronPDF

Avez-vous déjà ressenti le besoin de travailler avec des fichiers PDF dans vos applications C# ? IronPDF pour l'intégration PDF dans les applications C# est votre solution idéale. Il rend incroyablement simple la création, l'édition, et même l'extraction de contenu à partir de fichiers PDF. Lorsque vous le combinez avec les fonctions mathématiques de C#, vous pouvez générer des rapports, des graphiques, et d'autres visualisations mathématiques, et les intégrer sans problème dans vos documents PDF.

Une caractéristique remarquable d'IronPDF est sa capacité de conversion HTML en PDF, conservant tous les mises en page et styles intacts. Il génère des PDF à partir du contenu web, adaptés pour les rapports, les factures, et la documentation. Les fichiers HTML, les URLs et les chaînes HTML peuvent être convertis en PDFs sans effort.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()

		' 1. Convert HTML String to PDF
		Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
		Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
		pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

		' 2. Convert HTML File to PDF
		Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
		Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
		pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

		' 3. Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

IronXL

C# Math (Comment ça marche pour les développeurs) Figure 2 - IronXL

La manipulation des données est un aspect significatif de la programmation, et quand il s'agit de feuilles de calcul, IronXL pour Excel Interop en C# vous couvre. Que vous créiez, lisiez ou modifiez des fichiers Excel, IronXL s'intègre sans effort avec C#. Avec la puissance des fonctions mathématiques de C#, vous pouvez effectuer des calculs sur vos données Excel directement dans vos applications.

IronOCR

C# Math (Comment ça marche pour les développeurs) Figure 3 - IronOCR

La reconnaissance optique de caractères (OCR) n'est plus un concept futuriste mais une réalité avec IronOCR pour l'extraction de texte à partir d'images et de PDF. Si vous avez une application qui traite des images ou des documents scannés et que vous souhaitez extraire du texte, en particulier des données numériques ou des équations mathématiques, IronOCR combiné avec C# peut reconnaître et traduire cela en données utilisables de manière transparente.

IronBarcode

C# Math (Comment ça marche pour les développeurs) Figure 4 - IronBarcode

De nos jours, les codes-barres jouent un rôle intégral dans l'identification des produits. Avec IronBarcode pour générer et lire des codes-barres en C#, les développeurs C# peuvent facilement générer, lire et travailler avec des codes-barres. Cela peut être particulièrement utile si vous développez des systèmes d'inventaire ou de point de vente où les calculs mathématiques et les codes-barres s'entrecroisent.

Conclusion

C# Math (Comment ça marche pour les développeurs) Figure 5 - License

Le paysage C# est vaste et puissant, et avec des outils comme Iron Suite, vous pouvez élever vos applications à de nouveaux sommets. Notamment, chaque produit au sein de l'Iron Suite, qu'il s'agisse d'IronPDF, IronXL, IronOCR ou IronBarcode, commence avec une licence à partir de $799. De plus, pour ceux qui souhaitent essayer avant d'investir, chaque produit propose un essai gratuit de 30 jours pour les fonctionnalités étendues d'Iron Suite au prix de seulement deux produits. Un tel accord non seulement offre des économies de coûts mais garantit également que vous disposez d'une suite d'outils complète pour répondre à vos divers besoins de développement.

Questions Fréquemment Posées

Comment puis-je effectuer des opérations arithmétiques de base en utilisant la classe Math en C# ?

La classe Math en C# fournit des méthodes telles que Math.Abs() pour calculer la valeur absolue, Math.Sqrt() pour calculer la racine carrée, et Math.Round() pour arrondir les nombres. Ces méthodes simplifient les opérations arithmétiques de base sans avoir besoin d'écrire des algorithmes complexes.

Quelles fonctions mathématiques avancées sont disponibles dans la classe Math de C# ?

Pour les opérations mathématiques avancées, la classe Math de C# offre des méthodes comme Math.Pow() pour les calculs de puissance et Math.Log() pour les opérations logarithmiques. Ces fonctions permettent aux développeurs de gérer efficacement des calculs complexes.

Comment puis-je gérer les erreurs de division par zéro en C# ?

Pour gérer la division par zéro en C#, utilisez des instructions conditionnelles pour vérifier si le diviseur est zéro avant de procéder à la division. Alternativement, mettez en œuvre des blocs try-catch pour gérer toutes les exceptions résultant des opérations de division.

Comment puis-je intégrer des fonctionnalités PDF dans mon application C# ?

IronPDF permet aux développeurs C# de créer, modifier et convertir du contenu en fichiers PDF de manière transparente. Avec IronPDF, vous pouvez générer des rapports et visualiser des données mathématiques dans un format PDF directement depuis votre application C#.

Quelles options sont disponibles pour la manipulation des fichiers Excel en C# ?

IronXL permet aux développeurs C# de créer, lire et modifier des fichiers Excel de manière programmatique. Il s'intègre facilement aux applications C#, permettant des calculs et la manipulation de données dans des feuilles de calcul Excel.

Comment peut-on extraire du texte à partir d'images en utilisant C# ?

IronOCR est un outil puissant pour extraire du texte à partir d'images en C#. Il peut reconnaître et convertir avec précision les données textuelles et numériques des documents numérisés, améliorant les applications nécessitant la reconnaissance optique de caractères.

Existe-t-il un moyen de générer et lire des codes-barres en C# ?

Oui, IronBarcode permet aux développeurs C# de générer et lire facilement divers types de codes-barres. Cette fonctionnalité est particulièrement utile dans les applications de gestion d'inventaire ou les systèmes de point de vente où le scannage de codes-barres est essentiel.

Quels avantages offre l'Iron Suite aux développeurs C# ?

L'Iron Suite offre un ensemble complet d'outils, incluant IronPDF, IronXL, IronOCR, et IronBarcode, qui améliorent les capacités des applications C#. Elle offre un essai gratuit de 30 jours, permettant aux développeurs de tester et d'intégrer ces fonctionnalités de manière économique.

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