2009-04-23 88 views
5

¿cómo redondeo los valores decimales?
Ejemplo:Redondear valores decimales en C#

decimal Value = "19500.98"

i necesidad de mostrar este valor a cuadro de texto con redondeado como "19501"

si el valor decimal = "19500.43"

entonces

value = "19500"

+0

Hay ayuda a más de una manera de redondear los números, dependiendo del dominio de aplicación que necesita tener cuidado de usar el tipo correcto de redondeo en el momento correcto. – Richard

Respuesta

20

Mire Math.Round(decimal) o the overload which takes a MidpointRounding argument.

Por supuesto, tendrá que analizar y formatear el valor para obtenerlo de/para el texto. Si esto es una entrada ingresada por el usuario, probablemente deba usar decimal.TryParse, usando el valor de retorno para determinar si la entrada fue válida o no.

string text = "19500.55"; 
decimal value; 
if (decimal.TryParse(text, out value)) 
{ 
    value = Math.Round(value); 
    text = value.ToString(); 
    // Do something with the new text value 
} 
else 
{ 
    // Tell the user their input is invalid 
} 
5

Math.Round (valor, 0)

1

Prueba esto ...

var someValue=123123.234324243m; 
var strValue=someValue.ToString("#"); 
-2
Total = Math.Ceiling(value) 

Responder si usted

+1

El techo lo redondea. '19500.43' se convertirá en' 19501', y no '19500' como el OP previsto. – Ivar

+0

sí, así que si desea redondear el importe si es mayor que 0.5 entonces puede usar Math.Round (Value, MidpointRounding.AwayFromZero); – Bilal

+0

o puede usar este Math.Round (Value, MidpointRounding.ToEven); – Bilal

Cuestiones relacionadas