Cómo preservar la precisión de 2 dígitos

.net c# dapper decimal precision

Pregunta

Estoy luchando por encontrar una mejor manera de preservar la precisión de 2 dígitos para la variable decimal.

Aquí he dividido la pregunta en 2 pasos:

Paso 1: consulta SQL

Para obtener una precisión de 2 dígitos en una consulta SQL, estoy usando

CONVERT(DECIMAL(10,2), .....) // to get 2 digit precision

En la ejecución, puedo lograr la precisión de 2 dígitos en mi SSMS.

NET_TOTAL  
---------    
10.00  
12.50  
14.25

Paso 2: a través del código C #

Mientras que en mi código C #, cuando traté de almacenar el valor en mi código C #, no está preservando la precisión de 2 dígitos.

NET_TOTAL  
---------    
10       //lost my precision
12.5     //lost my precision
14.25

A continuación está mi declaración de variables.

public decimal? NET_TOTAL { get; set; } 

Pero puedo oler una solución usando propiedades, pero no puedo obtenerla.

Estoy usando

  • para operaciones de bases de datos.
  • FileHelper.dll para convertir la lista de consultas en un archivo CSV.

Me gustaría saber el motivo y una forma de resolver este problema.

Cualquier ayuda es muy apreciada.

Gracias por adelantado.

Respuesta popular

Los ceros a la derecha del decimal no son precisos.
Es solo presentación.

decimal d;
d = 10;
System.Diagnostics.Debug.WriteLine(string.Format("{0:N2}",d));


Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow