c# Int64 vs int code example
Example 1: Int64
decimal[] values= { Decimal.MinValue, -1034.23m, -12m, 0m, 147m,
199.55m, 9214.16m, Decimal.MaxValue };
long result;
foreach (decimal value in values)
{
try {
result = Convert.ToInt64(value);
Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.",
value.GetType().Name, value,
result.GetType().Name, result);
}
catch (OverflowException) {
Console.WriteLine("{0} is outside the range of the Int64 type.",
value);
}
}
// The example displays the following output:
// -79228162514264337593543950335 is outside the range of the Int64 type.
// Converted the Decimal value '-1034.23' to the Int64 value -1034.
// Converted the Decimal value '-12' to the Int64 value -12.
// Converted the Decimal value '0' to the Int64 value 0.
// Converted the Decimal value '147' to the Int64 value 147.
// Converted the Decimal value '199.55' to the Int64 value 200.
// Converted the Decimal value '9214.16' to the Int64 value 9214.
// 79228162514264337593543950335 is outside the range of the Int64 type.
Example 2: Int64
sbyte value1 = 124;
short value2 = 1618;
int value3 = Int32.MaxValue;
long number1 = value1;
long number2 = value2;
long number3 = value3;
Example 3: Int64
ulong ulNumber = 163245617943825;
try {
long number1 = (long) ulNumber;
Console.WriteLine(number1);
}
catch (OverflowException) {
Console.WriteLine("{0} is out of range of an Int64.", ulNumber);
}
double dbl2 = 35901.997;
try {
long number2 = (long) dbl2;
Console.WriteLine(number2);
}
catch (OverflowException) {
Console.WriteLine("{0} is out of range of an Int64.", dbl2);
}
BigInteger bigNumber = (BigInteger) 1.63201978555e30;
try {
long number3 = (long) bigNumber;
Console.WriteLine(number3);
}
catch (OverflowException) {
Console.WriteLine("{0} is out of range of an Int64.", bigNumber);
}
// The example displays the following output:
// 163245617943825
// 35902
// 1,632,019,785,549,999,969,612,091,883,520 is out of range of an Int64.