private static PhpNumber ConvertToLong(double number) { if ((Math.Round(number) == number) && (number <= long.MaxValue) && (number >= long.MinValue)) { return PhpNumber.Create((long)number); } return PhpNumber.Create(number); }