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!
Creo:
String.Format ("{0: 0.00}", Venta);
Deberías hacerlo.
Vea ejemplos de formato de cadena de enlaces C #
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
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");