Notice: Use of undefined constant is_tag - assumed 'is_tag' in C:\inetpub\wwwroot\www.orizola.cl\wp-content\themes\mandigo\archive.php on line 27

Archivo de septiembre 2008

Este algoritmo ya es muy conocido pero no está demás recordarlo para quienes aún no lo han implementado. A continuación presento en C# la clase Rut con los siguientes métodos públicos y estáticos (no se necesita crear una instancia de la clase para usarla):

  • Valido: recibe un Rut como cadena incluyendo el guión y digito verificador (“99999999-9”) devolviendo verdadero si el Rut es correcto.
  • Digito: recibe un Rut como entero sin incluir el dígito verificador (99999999) devolviendo este último como cadena.

public class Rut
{
	public static bool Valido(string rut)
	{
		rut = rut.Replace(".", "").ToUpper();
		Regex r = new Regex("^([0-9]+-[0-9K])$");
		if (r.IsMatch(rut))
			return rut.Substring(rut.Length - 1, 1) == Digito(int.Parse(rut.Substring(0, rut.Length - 2)));
		else
			return false;
	}
 
	public static string Digito(int rut)
	{
		int suma = 0;
		int multiplicador = 1;
		while (rut != 0)
		{
			multiplicador++;
			if (multiplicador == 8)
				multiplicador = 2;
			suma += (rut % 10) * multiplicador;
			rut = rut / 10;
		}
		suma = 11 - (suma % 11);
		if (suma == 11)
			return "0";
		else if (suma == 10)
			return "K";
		else
			return suma.ToString();
	}
}

Comments 2 Comentarios »

Mi nombre es Mauricio Orizola, soy un profesional con grado universitario de ingeniero de 6 años de estudio en el área de informática, me especializo en ingeniería de software principalmente en el desarrollo de software cliente/servidor de alto desempeño, además del diseño y administración de base de datos relacionales eficientes manejando grandes volúmenes de información.

Tengo larga experiencia en desarrollo de software. Comencé programando a la edad de 10 años en un computador Sinclair ZX Spectrum utilizando los lenguajes Basic y Ensamblador, a esta misma edad programé, para dicha máquina, mi primer juego que era una versión multi-jugador del típico juego de la culebra. Años más tarde mientras estudiaba en la universidad desarrollé e implementé todos los sistemas para la firma de contabilidades, auditorías y asesorías tributarias de mi padre. Este fue el inicio construyendo software profesionalmente donde no he parado hasta la fecha.

En este blog compartiré mis conocimientos y experiencia como profesional del área de la informática, publicando artículos para usuarios finales como consejos y trucos para aplicaciones, así como también artículos para profesionales informáticos como algoritmos o rutinas interesantes, buenas prácticas, configuraciones y optimizaciones de software y servidores. Espero que sigamos el espíritu de los blogs donde no sólo sea un sitio de publicaciones unilaterales por parte del autor, sino que exista una conversación con los lectores dejando sus comentarios y preguntas, las cuáles, en la medida de lo posible, siempre serán contestadas.

Comments 3 Comentarios »