Literal decimal en C#
Al inicializar variables en C#, es posible que deba especificar explícitamente el tipo de datos que desea que sea para los tipos de datos numéricos. De lo contrario, se tratarán como tipos de datos predeterminados, como enteros o dobles. Puede causar errores en tiempo de compilación si se omite o errores durante el cálculo.
El literal decimal
Al inicializar un decimal, debe hacer lo que se presenta a continuación:
decimal decimalValue = 12.0M;
Si no agrega el literal decimal M
, el valor numérico se tratará como un doble y causará errores. Puede utilizar la notación tanto en mayúsculas como en minúsculas. La razón por la que el sufijo decimal es M
y no otra letra como D
es porque el tipo de dato doble ya llevaba la letra D
.
Ejemplo:
using System;
namespace Literal_Example {
class Program {
static void Main(string[] args) {
// Initialize the integer variable a
var decimalValue = 10.0M;
Console.WriteLine("First Variable: " + decimalValue.ToString() +
"\nData Type: " + decimalValue.GetType().Name + "\n");
var floatValue = 10.0F;
Console.WriteLine("Second Variable: " + floatValue.ToString() +
"\nData Type: " + floatValue.GetType().Name + "\n");
var doubleValue = 10.0;
Console.WriteLine("Third Variable: " + doubleValue.ToString() +
"\nData Type: " + doubleValue.GetType().Name + "\n");
Console.ReadLine();
}
}
}
En el ejemplo anterior, declaramos tres variables diferentes implícitamente usando var
, pero cada una tenía un sufijo diferente o ninguno. Puede observar cómo esto cambia el tipo de datos de la variable a través de los resultados impresos en la consola.
Producción :
First Variable: 10.0
Data Type: Decimal
Second Variable: 10
Data Type: Single
Third Variable: 10
Data Type: Double