Mathématiques en C# (Comment ça marche pour les développeurs)
Chaknith Bin
décembre 12, 2023
Partager:
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.
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().
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).
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.
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.
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
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
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
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
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
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 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)
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier