public bool TryToFloat64(out double result) {
return double.TryParse(ToString(10),
System.Globalization.NumberStyles.Number,
System.Globalization.CultureInfo.InvariantCulture.NumberFormat,
out result);
}
public static double ConvertToDouble(RubyContext/*!*/ context, BigInteger/*!*/ bignum) { double result; if (bignum.TryToFloat64(out result)) { return result; } context.ReportWarning("Bignum out of Float range"); return bignum.Sign > 0 ? Double.PositiveInfinity : Double.NegativeInfinity; }