¿Qué significa la M en la notación literal decimal en C#?
Para trabajar con tipos de datos decimales, tengo que hacer esto con inicialización de variables:
decimal aValue = 50.0M;
¿Qué significa la parte M?
4 answers
Significa que es un literal decimal, como otros han dicho. Sin embargo, los orígenes probablemente no son los sugeridos en otra parte de esta respuesta. Del Estándar anotado en C# (la versión ECMA, no la versión MS):
El sufijo
decimal
es M / m desde D / d ya fue tomada pordouble
. Aunque se ha sugerido que M significa dinero, recuerda Peter Golde que M fue elegido simplemente como el siguiente mejor letra endecimal
.
Una anotación similar menciona que las primeras versiones de C# incluían" Y "y" S " para byte
y short
literales respectivamente. Fueron dejados de lado por no ser útiles muy a menudo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-06 13:00:55
M significa decimal. Si no lo agrega, el número se tratará como un doble. D es doble.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-06-10 18:54:51
Un literal real sufijo por M o m es de tipo decimal. Por ejemplo, los literales 1m, 1.5 m, 1e10m y 123.456 M son todos 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 usando el redondeo de banker. Cualquier escala aparente en el literal se conserva a menos que el valor sea redondeado o el valor sea cero (en este último caso el signo y la escala serán 0). Por lo tanto, el literal 2.900 m se analizará a forme el decimal con el signo 0, el coeficiente 2900 y la escala 3.
Referencia: https://msdn.microsoft.com/en-us/library/aa691085.aspx
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-28 00:52:31
Probablemente significa Dinero.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-06-10 18:51:20