AYUDA .NET

C# Math (Cómo funciona para desarrolladores)

Publicado en 12 de diciembre, 2023
Compartir:

C# es uno de los lenguajes de programación más populares para crear aplicaciones dinámicas y escalables. Uno de los puntos fuertes de este lenguaje reside en su amplia biblioteca de funciones incorporadas, sobre todo funciones matemáticas. En este tutorial, profundizaremos en las diversas funciones matemáticas que ofrece C#, ayudándole a familiarizarse con las funcionesClase de matemáticas y cómo realizar ecuaciones matemáticas comunes con facilidad.

Primeros pasos

En C#, la clase Math es una clase estática disponible dentro del espacio de nombres System. Esta clase contiene una plétora de métodos diseñados para ayudar a los desarrolladores a realizar operaciones matemáticas sin necesidad de escribirlas desde cero.

Cómo acceder a la clase de matemáticas

Para acceder a la clase Math, debe incluir el espacio de nombres System en su clase pública Program. He aquí cómo:

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
VB   C#

En el método public static void main, puedes llamar a cualquier función de la clase Math haciendo referencia a Math.y utilizando el parámetro de salida que puede ser un punto flotante también.

Funciones matemáticas básicas

Veamos algunas funciones matemáticas básicas que ofrece C#

Valor absoluto: El valor absoluto de un número determinado es su valor sin su signo. La función Math.Abs() toma un número y devuelve el valor absoluto.

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
VB   C#

Raíz cuadrada: Para hallar la raíz cuadrada de un número especificado, se utiliza la función Math.Sqrt() función. Esta función calcula la raíz cuadrada y devuelve un valor doble como se muestra en el siguiente ejemplo.

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
VB   C#

Redondear números: C# ofrece varias funciones para redondear números al entero más próximo o a un número determinado de decimales. El Math.Round() redondea un valor de coma flotante a la parte entera o integral más próxima.

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
VB   C#

Funciones trigonométricas e hiperbólicas

Además de las operaciones aritméticas básicas, la clase Math de C# también ofrece una serie de funciones trigonométricas e hiperbólicas

Valor del seno: Para hallar el valor del seno de un ángulo especificado.(en radianes)utiliza 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
VB   C#

Funciones hiperbólicas: Son similares a las funciones trigonométricas pero se utilizan para ecuaciones hiperbólicas. Algunos ejemplos son Math.Sinh()(seno hiperbólico), Math.Cosh()(coseno hiperbólico)y Math.Tanh()(tangente hiperbólica).

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)
VB   C#

Funciones matemáticas avanzadas

Para quienes buscan operaciones más avanzadas:

Poder: El Poder.Matemático() toma dos enteros: una base y un exponente. Devuelve el número base elevado a la potencia especificada.

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
VB   C#

Logaritmo: C# ofrece el Math.Log(), que calcula el logaritmo natural(base e) de un número determinado. Además, puede especificar una base utilizando Math.Log(número, base especificada).

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
VB   C#

Números complejos en C#

Aunque este tutorial trata principalmente de funciones básicas e intermedias, cabe señalar que C# ofrece soporte para números complejos

Crear un número complejo: Utiliza la clase Complex del espacio de nombres System.Numerics. No forma parte de la clase de Matemáticas, pero es esencial para las operaciones matemáticas con números complejos.

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
VB   C#

Funciones de conversión en clase de matemáticas

A menudo, los desarrolladores necesitan convertir entre distintos tipos de valores numéricos:

Convertir a entero: Si tienes un doble y deseas convertirlo a entero eliminando su valor decimal, utiliza la función Convert.ToInt32() método.

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
VB   C#

Decimal a Binario: C# no tiene un método directo en la clase Math para esto. Sin embargo, puede utilizar la función Convert.ToString(valor, 2) del espacio de nombres System.

Errores y manejo de excepciones con funciones matemáticas

Cuando trabaje con funciones matemáticas, a veces puede encontrarse con errores, como dividir por cero. Es esencial manejar estos posibles escollos:

Divide por Cero: Utiliza una sentencia condicional para comprobar el divisor antes de realizar una división.

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
VB   C#

**Cuando una operación matemática da como resultado un valor demasiado grande para su tipo de datos, se produce un desbordamiento. Utilice bloques comprobados para capturar esta excepción.

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
VB   C#

Presentación de Iron Suite: Una potente suite para desarrolladores C#

Mientras profundizamos en las capacidades de C#, conviene señalar que el ecosistema en torno a este lenguaje de programación ha evolucionado enormemente. Una de estas contribuciones llega en forma de Iron Suite, un completo conjunto de herramientas adaptado a los desarrolladores de C#. Ofrece un conjunto de productos que pueden potenciar sus aplicaciones, garantizando su solidez y riqueza de funciones.

IronPDF

C# Matemáticas(Cómo funciona para los desarrolladores) Figura 1 - IronPDF

¿Alguna vez ha sentido la necesidad de trabajar con archivos PDF en sus aplicaciones C#? Integración de IronPDF para PDF en aplicaciones C# es su solución. Hace que sea increíblemente sencillo crear, editar e incluso extraer contenido de archivos PDF. Si lo combina con las funciones matemáticas de C#, podrá generar informes, gráficos y otras visualizaciones matemáticas e incrustarlas sin problemas en sus documentos PDF.

Una característica destacada de IronPDF es suFunción de conversión de HTML a PDF manteniendo intactos todos los diseños y estilos. Genera archivos PDF a partir de contenidos web, adecuados para informes, facturas y documentación. Los archivos HTML, las URL y las cadenas HTML se pueden convertir en PDF sin esfuerzo.

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
VB   C#

IronXL

C# Matemáticas(Cómo funciona para desarrolladores) Figura 2 - IronXL

La manipulación de datos es un aspecto importante de la programación, y cuando se trata de hojas de cálculo,IronXL para Excel Interop en C# te tiene cubierto. Tanto si está creando, leyendo o editando archivos Excel, IronXL se integra sin esfuerzo con C#. Con la potencia de las funciones matemáticas de C#, puede realizar cálculos sobre sus datos de Excel directamente dentro de sus aplicaciones.

IronOCR

C# Matemáticas(Cómo funciona para los desarrolladores) Figura 3 - IronOCR

Reconocimiento óptico de caracteres(OCR) ya no es un concepto futurista, sino una realidad conIronOCR para extraer texto de imágenes y archivos PDF. Si tiene una aplicación que trabaja con imágenes o documentos escaneados y desea extraer texto, especialmente datos numéricos o ecuaciones matemáticas, IronOCR combinado con C# puede reconocerlos sin problemas y traducirlos en datos utilizables.

IronBarcode

C# Matemáticas(Cómo funciona para desarrolladores) Figura 4 - IronBarcode

En el mundo actual, los códigos de barras desempeñan un papel fundamental en la identificación de productos. ConIronBarcode para generar y leer códigos de barras en C#C#, los desarrolladores pueden generar, leer y trabajar fácilmente con códigos de barras. Puede ser especialmente útil si está desarrollando sistemas de inventario o de punto de venta en los que se entrecruzan cálculos matemáticos y códigos de barras.

Conclusión

C# Matemáticas(Cómo funciona para desarrolladores) Figura 5 - Licencia

El panorama de C# es amplio y potente, y con herramientas como Iron Suite, puede elevar sus aplicaciones a nuevas cotas. En particular, cada producto de Iron Suite, ya sea IronPDF, IronXL, IronOCR o IronBarcode, comienza con una licencia a partir de $749. Además, para quienes deseen probar antes de invertir, cada producto ofrece unprueba gratuita de 30 días de las amplias funciones de Iron Suite por el precio de sólo dos productos. Un acuerdo de este tipo no sólo supone un ahorro de costes, sino que también le garantiza disponer de un completo conjunto de herramientas para satisfacer sus diversas necesidades de desarrollo.

< ANTERIOR
String Builder C# (Cómo funciona para desarrolladores)
SIGUIENTE >
C# Switch Expression (Cómo funciona para los desarrolladores)

¿Listo para empezar? Versión: 2024.12 acaba de salir

Descarga gratuita de NuGet Descargas totales: 11,781,565 Ver licencias >