Convertir Doble a Decimal en C#

Saad Aslam 12 octubre 2023
  1. Una descripción general de Double y Decimal en C#
  2. Utilice el método Convert.ToDecimal(Double) para convertir doble a decimal en C#
Convertir Doble a Decimal en C#

Esta publicación analizará la conversión de un doble a un decimal usando el lenguaje de programación C#.

Hay diferentes enfoques para asumir este desafío. Sin embargo, nos centraremos en la explicación más útil y correcta.

Una descripción general de Double y Decimal en C#

Los cálculos matemáticos en doble utilizan base 2, mientras que los de decimal utilizan base 10. Calcular en base-2 es sustancialmente más rápido para las computadoras que otras bases.

Además, el enfoque de double está en su desempeño, mientras que el enfoque de decimal está en su precisión. Cuando utilice el doble, los resultados de sus cálculos no serán muy exactos, pero obtendrá una respuesta satisfactoria mucho más rápidamente.

Utilice el método Convert.ToDecimal(Double) para convertir doble a decimal en C#

Usaremos el método Convert.ToDecimal(Double) que se encuentra en el espacio de nombres System.Convert, que se encarga de convertir de doble a decimal. Este método acepta un valor de tipo doble como argumento y devuelve un valor de tipo decimal.

Esta función solo puede devolver números decimales y esos valores no pueden tener más de 15 dígitos significativos. Si el parámetro de valor contiene más de 15 dígitos significativos, se redondea al decimal más cercano antes de usarse.

El siguiente ejemplo, línea por línea, demuestra cómo el sistema utiliza el método Convert.ToDecimal(Double) para redondear valores numéricos al número entero más cercano.

Importe la biblioteca del sistema y cree una clase que contenga la función Main().

using System;

public class DoubleToDecimalbySaad {
  public static void Main() {}
}

Cree dos variables llamadas x e y con un tipo de datos de doble y agregue algunos valores dobles a cada una mientras se encuentra dentro de la función Principal().

double x = 1234567890123475.12D;
double y = 1234567890123458.12D;

A continuación, utilice la función Convert.ToDecimal() y pásele los valores x e y. Convierte el valor del número de punto flotante de precisión simple proporcionado a su valor decimal correspondiente.

Console.WriteLine("The decimal value of the first number is: " + Convert.ToDecimal(x));
Console.WriteLine("The decimal value of the second number is: " + Convert.ToDecimal(y));

Código fuente completo:

using System;

public class DoubleToDecimalbySaad {
  public static void Main() {
    double x = 1234567890123475.12D;
    double y = 1234567890123458.12D;
    Console.WriteLine("The decimal value of the first number is: " + Convert.ToDecimal(x));
    Console.WriteLine("The decimal value of the second number is: " + Convert.ToDecimal(y));
  }
}

Producción :

The decimal value of the first number is: 1234567890123480
The decimal value of the second number is: 1234567890123460
Autor: Saad Aslam
Saad Aslam avatar Saad Aslam avatar

I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.

LinkedIn

Artículo relacionado - Csharp Math