AT.MIN.Tools.UnboxToLong C# (CSharp) Method

UnboxToLong() public static method

public static UnboxToLong ( object Value, bool Round ) : long
Value object
Round bool
return long
		public static long UnboxToLong( object Value, bool Round )
		{
			switch ( Type.GetTypeCode( Value.GetType() ) )
			{
				case TypeCode.SByte:
					return (long)( (sbyte)Value );
				case TypeCode.Int16:
					return (long)( (short)Value );
				case TypeCode.Int32:
					return (long)( (int)Value );
				case TypeCode.Int64:
					return (long)Value;

				case TypeCode.Byte:
					return (long)( (byte)Value );
				case TypeCode.UInt16:
					return (long)( (ushort)Value );
				case TypeCode.UInt32:
					return (long)( (uint)Value );
				case TypeCode.UInt64:
					return (long)( (ulong)Value );

				case TypeCode.Single:
					return ( Round ? (long)Math.Round( (float)Value ) : (long)( (float)Value ) );
				case TypeCode.Double:
					return ( Round ? (long)Math.Round( (double)Value ) : (long)( (double)Value ) );
				case TypeCode.Decimal:
					return ( Round ? (long)Math.Round( (decimal)Value ) : (long)( (decimal)Value ) );

				default:
					return 0;
			}
		}
		#endregion