two truncar solo round redondear places mostrar float decimals decimales controlar como cantidad c# variables floating-point decimal

c# - truncar - Formateo de un flotante a 2 decimales



string.format c# (5)

Actualmente estoy creando un módulo de ventas para el sitio web de un cliente. Hasta ahora tengo el precio de venta para calcular perfectamente, pero donde me he atascado es formatear la salida a 2 decimales.

Actualmente estoy llamando a esto en una variable para que pueda vincular los resultados a una vista de lista.

Sale = float.Parse(((x.Sale_Price - (x.Sale_Price * (x.Discount_Price / 100))).ToString())),

¿Alguien puede mostrarme cómo formatear la salida a 2 decimales? ¡Muchas gracias!



Lo primero que debe hacer es usar el tipo decimal lugar de float para los precios. Usar float es absolutamente inaceptable para eso porque no puede representar con precisión la mayoría de las fracciones decimales.

Una vez que haya hecho eso, Decimal.Round() se puede usar para redondear a 2 lugares.


Puede pasar el formato al método ToString , por ejemplo:

myFloatVariable.ToString("0.00"); //2dp Number myFloatVariable.ToString("n2"); // 2dp Number myFloatVariable.ToString("c2"); // 2dp currency

Cadenas de formato de número estándar


String.Format("{0:#,###.##}", value)

Un ejemplo más complejo del formato de cadena en C # :

String.Format("{0:$#,##0.00;($#,##0.00);Zero}", value);

Esto arrojará "$ 1,240.00" si pasa 1243.50. Saldrá con el mismo formato pero entre paréntesis si el número es negativo, y dará salida a la cadena "Cero" si el número es cero.


string outString= number.ToString("####0.00");