Search

Cargando...

06 febrero 2013

Como truncar un número decimal en C# sin redondear.

Hola, hoy aprovecharemos está noche de insomnio para ver cómo truncar un número decimal sin ser redondeado esté es un método que yo mismo cree desconozco si existe un método en C# que lo haga probé con algunos pero me redondeaba por lo que decidí crear mi propio método.

El método en C# es el siguiente:


private decimal Truncate(decimal value, int length)
        {
            string[] param = value.ToString().Split('.');

            if (param[1].Length >= length)
                return Convert.ToDecimal(param[0] + "." + param[1].Substring(0, length));
            else
                return Convert.ToDecimal(param[0] + "." + param[1].Substring(0, param[1].Length));
        }

Ejemplo:
Si colocaramos lo siguiente Truncate(12.3456789, 5); 
el valor que nos retornaría esté metodo sería: 12.34567

Que es lo que hacemos en  esté método primero que nada separamos nuestro decimal en base a el punto decimal " . ", una vez separado verificamos la longitud a la que queremos truncar si es mayor truncamos hasta esa longitud si es menor sólo ponemos el valor máximo. 

A la hora de mostrar estos datos podemos poner un formatString para que se visualice como nosotros deseamos espero les sirva el método o pues es una pequeña forma de implementar esto de manera rápida un saludo.

Dejen sus dudas y/o comentarios. 
Publicar un comentario en la entrada
Related Posts Plugin for WordPress, Blogger...