AIDE .NET

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

C# est l'un des langages de programmation les plus populaires pour la création d'applications dynamiques et évolutives. L'une des forces de ce langage réside dans sa vaste bibliothèque de fonctions intégrées, en particulier de fonctions mathématiques. Dans ce tutoriel, nous allons plonger profondément dans les différentes fonctions mathématiques que C# fournit, afin de vous familiariser avec la classe Math et comment effectuer facilement des équations mathématiques courantes.

Pour commencer

En C#, la classe Math est une classe statique disponible dans le namespace 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 à les écrire à partir de zéro.

Comment accéder à la classe de mathématiques

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
{
//public static void Main method
    public static void Main()
    {
        // Your code goes here
    }
}
using System;
public class Program
{
//public static void Main method
    public static void Main()
    {
        // Your code goes here
    }
}
Imports System
Public Class Program
'public static void Main method
	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érant à Math.et en utilisant le paramètre de sortie qui peut également être un nombre à virgule flottante.

Fonctions mathématiques de base

Examinons quelques fonctions mathématiques de base proposées par C#

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 le montre 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# offre 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 à l'entier ou à la partie intégrale la 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

Outre les opérations arithmétiques de base, la classe Math de C# propose également une série 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
double sineValue = Math.Sin(angle);
Console.WriteLine(sineValue); // Output: 1
double angle = Math.PI / 2; // 90 degrees
double sineValue = Math.Sin(angle);
Console.WriteLine(sineValue); // Output: 1
Dim angle As Double = Math.PI / 2 ' 90 degrees
Dim sineValue As Double = Math.Sin(angle)
Console.WriteLine(sineValue) ' Output: 1
$vbLabelText   $csharpLabel

Fonctions hyperboliques : Celles-ci 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 entiers : une base et un exposant. Il 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 logarithmic base
double logBase10 = Math.Log(value, 10); // Base 10 logarithm
double value = 10;
double naturalLog = Math.Log(value); // Natural logarithmic base
double logBase10 = Math.Log(value, 10); // Base 10 logarithm
Dim value As Double = 10
Dim naturalLog As Double = Math.Log(value) ' Natural logarithmic base
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 convient de noter que C# prend en charge les nombres complexes

Création d'un Nombre Complexe : Utilisez la classe Complex du namespace System.Numerics. Il ne fait pas partie du cours de mathématiques, mais il 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 en classe de mathématiques

Les développeurs ont souvent besoin de convertir 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: 10
double value = 10.99;
int intValue = Convert.ToInt32(value);
Console.WriteLine(intValue); // Output: 10
Dim value As Double = 10.99
Dim intValue As Integer = Convert.ToInt32(value)
Console.WriteLine(intValue) ' Output: 10
$vbLabelText   $csharpLabel

Decimal vers Binaire : C# n'a pas de méthode directe dans la classe Math pour cela. Toutefois, vous pouvez utiliser la fonction Convert.ToString(value, 2) de l'espace de nom System.

Erreurs et gestion des exceptions avec les fonctions mathématiques

Lorsque vous travaillez avec des fonctions mathématiques, vous pouvez parfois rencontrer des erreurs, comme 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;
}
else
{
    Console.WriteLine("Cannot divide by zero!");
}
double numerator = 10;
double denominator = 0;
if(denominator != 0)
{
    double result = numerator / denominator;
}
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
Else
	Console.WriteLine("Cannot divide by zero!")
End If
$vbLabelText   $csharpLabel

Gérer le dépassement : Lorsqu'une opération mathématique produit une valeur trop grande pour son type de données, un dépassement se produit. Utilisez des blocs vérifiés pour attraper cette exception.

try
{
    checked
    {
        int result = int.MaxValue + 1; // This will cause an overflow
    }
}
catch(OverflowException ex)
{
    Console.WriteLine("Overflow occurred: " + ex.Message);
}
try
{
    checked
    {
        int result = 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
		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 d'Iron Suite : Une suite puissante pour les développeurs C# ;

Alors que nous nous penchons sur les capacités de C#, il convient de noter que l'écosystème autour de ce langage de programmation a énormément évolué. L'une de ces contributions se présente sous la forme d'Iron Suite, une boîte à outils complète conçue pour les développeurs C#. Elle offre un ensemble de produits qui peuvent dynamiser vos applications, en garantissant qu'elles sont robustes et riches en fonctionnalités.

IronPDF

C# Math (Comment cela fonctionne pour les développeurs) Figure 1 - IronPDF

Avez-vous déjà ressenti le besoin de travailler avec des PDF dans vos applications C# ? IronPDF for PDF Integration in C# Applications est votre solution de référence. Il permet de créer, de modifier et même d'extraire le contenu des fichiers PDF en toute simplicité. En l'associant aux fonctions mathématiques de C#, vous pouvez générer des rapports, des graphiques et d'autres visualisations mathématiques et les intégrer de manière transparente dans vos documents PDF.

Une caractéristique remarquable d'IronPDF est sa capacité de conversion HTML en PDF, conservant tous les agencements et styles intacts. Il génère des PDF à partir de contenus web, qui conviennent pour les rapports, les factures et la documentation. Les fichiers HTML, les URL et les chaînes HTML peuvent être convertis en PDF 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

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

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

IronOCR

Mathématiques en C# (Comment cela fonctionne 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 extraire du texte 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é à C# peut reconnaître et traduire ces données de manière transparente en données utilisables.

IronBarcode

Math C# (Comment cela fonctionne pour les développeurs) Figure 4 - IronBarcode

Dans le monde d'aujourd'hui, les codes-barres jouent un rôle essentiel 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. Il peut être particulièrement utile si vous développez des systèmes d'inventaire ou de point de vente dans lesquels les calculs mathématiques et les codes-barres s'entremêlent.

Conclusion

Mathématiques en C# (Comment cela fonctionne pour les développeurs) Figure 5 - Licence

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 de la Iron Suite, qu'il s'agisse d'IronPDF, IronXL, IronOCR ou IronBarcode, commence avec une licence à partir de $749. De plus, pour ceux qui souhaitent essayer avant d'investir, chaque produit propose une période d'essai gratuite de 30 jours pour les fonctionnalités étendues de l'Iron Suite pour le prix de seulement deux produits. Ce type d'accord permet non seulement de réaliser des économies, mais aussi de disposer d'une boîte à outils complète pour répondre à vos divers besoins en matière de développement.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
< PRÉCÉDENT
String Builder C# (Comment ça marche pour les développeurs)
SUIVANT >
C# Switch Expression (Comment ça marche pour les développeurs)