Publicado en C# - Csharp, Programacion

C# Formatear RUT Chileno con separadores de miles

formatear-rut-chileno-separadores-de-miles

Dejo este minicodigo para formatear un RUT Chileno. El ejemplo parte de la base que el RUT viene sin formato y con el digito verficador incluido. Por ejemplo “099999999K”.


string rutSinFormato = "099999999K"
string rutFormateado = String.Empty;

//obtengo la parte numerica del RUT
string rutTemporal = rutSinFormato.Substring(0, rutSinFormato.Length - 1);

//obtengo el Digito Verificador del RUT
string dv = rutSinFormato.Substring(rutSinFormato.Length - 1, 1);

Int64 rut;

//aqui convierto a un numero el RUT si ocurre un error lo deja en CERO
if (!Int64.TryParse(rutTemporal, out rut))
{
	rut = 0;
}

//este comando es el que formatea con los separadores de miles
rutFormateado = rut.ToString("N0");

if (rutFormateado.Equals("0"))
{
	rutFormateado = string.Empty;
}
else
{
	//si no hubo problemas con el formateo agrego el DV a la salida
	rutFormateado += "-" + dv;

	//y hago este replace por si el servidor tuviese configuracion anglosajona y reemplazo las comas por puntos
	rutFormateado = rutFormateado.Replace(",", ".");
}

//la salida esperada para el ejemplo es 99.999.999-K
Response.Write("RUT Formateado: " + rutFormateado);

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s