
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.
Commencer
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
}
}Imports System
Public Class Program
' Entry point of the program
Public Shared Sub Main()
' Your code goes here
End Sub
End ClassDans la méthode public static void Main, vous pouvez appeler n'importe quelle fonction de la classe Math en référencant Math.<functionName> 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.5Dim val As Double = -10.5
Dim absValue As Double = Math.Abs(val) ' Function returns absolute value
Console.WriteLine(absValue) ' Output: 10.5Racine 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: 4Dim value As Double = 16
Dim sqrtValue As Double = Math.Sqrt(value)
Console.WriteLine(sqrtValue) ' Output: 4Arrondir 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: 11Dim value As Double = 10.75
Dim roundedValue As Double = Math.Round(value) ' Rounds to the nearest whole number
Console.WriteLine(roundedValue) ' Output: 11Fonctions 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: 1Dim angle As Double = Math.PI / 2 ' 90 degrees in radians
Dim sineValue As Double = Math.Sin(angle)
Console.WriteLine(sineValue) ' Output: 1Fonctions 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);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)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: 8Dim baseNum As Double = 2
Dim exponent As Double = 3
Dim result As Double = Math.Pow(baseNum, exponent)
Console.WriteLine(result) ' Output: 8Logarithme : 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 logarithmDim 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 logarithmComplex Numbers in 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 + 3iImports System.Numerics
Private complexNumber As New Complex(2, 3) ' Represents 2 + 3iFonctions 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)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)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: 101010Dim value As Integer = 42
Dim binary As String = Convert.ToString(value, 2) ' Converts 42 to binary
Console.WriteLine(binary) ' Output: 101010Erreurs 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!");
}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 IfGérer le Débordement: Lorsqu'une opération mathématique produit une valeur trop grande pour son type de données, un débordement 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
'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 TryPrésentation de l'Iron Suite : Une suite puissante 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

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");
}
}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 ClassIronXL

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 modifiiez des fichiers Excel, IronXL s'intègre parfaitement 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

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

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
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 l'Iron Suite, qu'il s'agisse d'IronPDF, d'IronXL, d'IronOCR ou d'IronBarcode, commence avec une licence démarrant à partir de $999. 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.

Jacob Mellor est directeur de la technologie chez Iron Software et un ingénieur visionnaire pionnier de la technologie C# PDF. En tant que développeur à l'origine de la base de code centrale d'Iron Software, il a façonné l'architecture des produits de l'entreprise depuis sa création, la transformant aux côtés du PDG Cameron Rimington en une entreprise de plus de 50 personnes au service de la NASA, de Tesla et d'agences gouvernementales mondiales.
Articles connexes


