variable mostrar float decimals decimales c# decimal literals

float - mostrar 2 decimales en c#



¿Qué significa la M en la notación literal decimal de C#? (4)

Para trabajar con tipos de datos decimales, tengo que hacer esto con la inicialización de variables:

decimal aValue = 50.0M;

¿Qué significa la parte M?


M significa decimal. Si no lo añades, el número será tratado como un doble. D es doble


Probablemente significa dinero.


Significa que es un literal decimal, como han dicho otros. Sin embargo, los orígenes probablemente no son los sugeridos en otra parte de esta respuesta. Desde el C # Annotated Standard (la versión ECMA, no la versión MS):

El sufijo decimal es M / m ya que D / d ya fue tomado por double . A pesar de que se ha sugerido que M significa dinero, Peter Golde recuerda que M fue elegida simplemente como la siguiente mejor carta en decimal .

Una anotación similar menciona que las primeras versiones de C # incluían "Y" y "S" para los byte y short literales short respectivamente. Fueron abandonados por no ser útiles muy a menudo.


Un literal real con sufijo M o m es de tipo decimal. Por ejemplo, los literales 1m, 1.5m, 1e10m y 123.456M son de tipo decimal. Este literal se convierte a un valor decimal tomando el valor exacto y, si es necesario, redondeando al valor representable más cercano utilizando el redondeo bancario. Cualquier escala aparente en el literal se conserva a menos que el valor esté redondeado o el valor sea cero (en este último caso, el signo y la escala serán 0). Por lo tanto, el 2.900m literal se analizará para formar el decimal con signo 0, coeficiente 2900 y escala 3.

Referencia: https://msdn.microsoft.com/en-us/library/aa691085.aspx