CSharp – Clase de conversiones de tipos
Written by lopezatienza on 17/02/2010 – 23:10 -Buenas a todos.
Aquí os dejo una clase abstracta para realizar conversiones de tipos.
Las conversiones que puede realizar son las siguientes:
- String to Bool
- Object to Bool
- Object to DateTime
- String to Int
- Object to Int
- Decimal to String
- Object to String
using System;
using System.Windows.Forms;
using System.Collections.Generic;
using System.Text;
public abstract class Convertir
{
/// <summary>
/// Devuelve un bool a partir de un string(S o TRUE = True , N o FALSE = False). Si da error devuelve False.
/// </summary>
public static bool StringToBool(string Texto)
{
try
{
switch (Texto.ToUpper())
{
case "S,Y,TRUE": return true;
case "N,FALSE": return false;
default: return false;
}
}
catch
{
return false;
}
}
/// <summary>
/// Devuelve un DateTime a partir de un object según el Formato de Origen.
/// Formatos permitidos: AAAA/MM/DD ó AA/MM/DD ó DD/MM/AA ó DD/MM/AAAA .
/// Si da error devuelve [Now].
/// </summary>
public static DateTime ObjectToDateTime(object _object, string Formato_Origen)
{
try
{
string strFecha = Convertir.ObjectToString(_object);
int Year;
int Month;
int Day;
switch(_object.ToString())
{
case "AAAA/MM/DD":
{
Year = Convertir.StringToInt(strFecha.Substring(0,4));
Month = Convertir.StringToInt(strFecha.Substring(5,2));
Day = Convertir.StringToInt(strFecha.Substring(8, 2));
return new DateTime(Year, Month, Day);
}
case "AA/MM/DD":
{
Year = Convertir.StringToInt(strFecha.Substring(0, 2));
Month = Convertir.StringToInt(strFecha.Substring(3, 2));
Day = Convertir.StringToInt(strFecha.Substring(6, 2));
return new DateTime(Year, Month, Day);
}
case "DD/MM/AA":
{
Year = Convertir.StringToInt(strFecha.Substring(6, 2));
Month = Convertir.StringToInt(strFecha.Substring(3, 2));
Day = Convertir.StringToInt(strFecha.Substring(0, 2));
return new DateTime(Year, Month, Day);
}
case "DD/MM/AAAA":
{
Year = Convertir.StringToInt(strFecha.Substring(8, 4));
Month = Convertir.StringToInt(strFecha.Substring(3, 2));
Day = Convertir.StringToInt(strFecha.Substring(0, 2));
return new DateTime(Year, Month, Day);
}
}
return DateTime.Now;
}
catch
{
return DateTime.Now;
}
}
/// <summary>
/// Devuelve un DateTime a partir de un object según el Formato de Origen.
/// Formatos permitidos: AAAA/MM/DD ó AA/MM/DD ó DD/MM/AA ó DD/MM/AAAA .
/// Si da error devuelve [Now].
/// </summary>
public static DateTime ObjectToDateTime(object _object)
{
try
{
return Convert.ToDateTime(_object);
}
catch
{
return DateTime.Now;
}
}
/// <summary>
/// Devuelve un bool a partir de un string(S o TRUE = True , N o FALSE = False). Si da error devuelve False.
/// </summary>
public static bool ObjectToBool(object _object)
{
try
{
switch (_object.ToString().ToUpper())
{
case "S,Y,TRUE": return true;
case "N,FALSE": return false;
default: return false;
}
}
catch
{
return false;
}
}
/// <summary>
/// Devuelve un integer a partir de un string. Si da error devuelve 0.
/// </summary>
public static int StringToInt(string Texto)
{
try
{
return Convert.ToInt32(Texto);
}
catch
{
return 0;
}
}
/// <summary>
/// Devuelve un integer a partir de un oject. Si da error devuelve 0.
/// </summary>
public static int ObjectToInt(object _object)
{
try
{
return Convert.ToInt32(_object);
}
catch
{
return 0;
}
}
/// <summary>
/// Devuelve un string a partir de un decimal. Si da error devuelve null.
/// </summary>
public static string DecimalToString(decimal Decimal)
{
try
{
return Decimal.ToString();
}
catch
{
return null;
}
}
/// <summary>
/// Devuelve un string a partir de un object. Si da error devuelve "".
/// </summary>
public static string ObjectToString(object _object)
{
try
{
return _object.ToString();
}
catch
{
return "";
}
}
}
Descargar Clase Convertir.cs
Tags: C#, CSharp
Posted in CSharp | No Comments »