Si quiero usar un literal decimal en el código, he visto que existe el sufijo m (donde m significa dinero). ¿Es esto apropiado para decimales o hay una asignación más general (d significa doble, eso seguramente no es lo correcto, aunque se admite una conversión directa)?
object decimalValue=2m;
Tenga en cuenta que tomé la asignación de objetos como ejemplo, porque en el caso de ...
decimal decimalValue=2;
... está implícitamente claro que 2 debe interpretarse como decimal a través del compilador.
m parece estar bien, msdn lo usa como ejemplo para el tipo decimal.
char c = 'a'
usando apóstrofos alrededor del carácter.Sin un sufijo, un literal real numérico será un Doble. El sufijo m especifica que un literal real numérico debe ser un decimal.
En realidad, es importante saberlo, ya que la aritmética en valores de punto flotante (como Double) es imprecisa. Por ejemplo:
Aquí, decimalValue realmente contendrá un Double, con el valor inesperado de 7.5500000000000007. Si quiero 7.55, podría hacer esto:
Para responder a su pregunta sobre si existe un sufijo más general, m es el único sufijo para decimal en C #. Puede representar dinero como mencionaste, pero sí usaron algo diferente a d, ¡ya que Double lo usa!
Lectura adicional: decimal (referencia de C #)
fuente
Respuesta corta para declarar decimal en C #
O / P: 141.28
O / P: 100
Para obtener más información, consulte MSDN .
La esperanza ayuda a alguien.
fuente