solo mostrar formato decimales c# .net floating-point rounding

c# - mostrar - ¿Cómo limitar un número decimal?



formato decimal datagridview c# (6)

Limitar la precisión de un número de punto flotante es un concepto de SQL. Decimal en csharp solo significa que recordará la precisión asignada. Puede redondear a tres lugares decimales antes de asignar. IE, Math.Round() .

Posible duplicado:
Cómo formatear un decimal

¿Cómo puedo limitar mi número decimal para obtener solo 3 dígitos después del punto?

e.g 2.774


Para recuperar el decimal, use Math.Round con el segundo parámetro que especifica el número de puntos decimales.

decimal d = 54.9700M; decimal f = (Math.Round(d, 2)); // 54.97

Para obtener una representación en cadena del número, use .ToString() especifica los puntos decimales como N3. Donde 3 es el punto decimal.

decimal d = 54.9700M; string s = number.ToString("N3"); // "54.97"


Parte de mi respuesta es la respuesta, otra parte es solo un punto interesante:

A menudo quiero ver la variable como un prop/field . Así que crea un extension method para resolver mi problema:

Tensao es solo un Enum que tiene un valor relacionado.

public static class TensaoExtensions { public static double TensaoNominal(this Tensao tensao) { return Math.Round((double.Parse(EnumMapper.Convert(typeof(Tensao), tensao.ToString()))) * 1000 / Math.Sqrt(3), 3); } }


Supongo que realmente quiere decir formatearlo para salida:

Console.WriteLine("{0:0.###}", value);


Usa Math.Round para redondearlo a 3 lugares decimales.