public static string ToString(BigDouble d, int precision = 2) { if (d == BigDouble.ZERO) { return("0"); } if (d.exponent < 0L) { return("0.0"); } int num = (int)d.exponent % 3; long num2 = d.exponent - (long)num; string format = (d.exponent >= 3L) ? ("F" + (precision - num)) : string.Empty; string text = Math.Round(d.numerator * (double)BigString.multiplier_exponents[num], precision - num).ToString(format); if (num2 == 0L) { return(text); } string str = (num2 >= (long)BigString.maxExponent) ? BigString.doubleLetterCurrency(num2) : BigString.names[(int)(checked ((IntPtr)(num2 / 3L)))]; return(text + str); }
public static string ToString(BigDouble d, int precision = 2) { if (d == BigDouble.ZERO) { return("0"); } if (d == BigDouble.PositiveInfinity) { return("INF"); } if (d == BigDouble.NegativeInfinity) { return("-INF"); } if (d.exponent < 0) { return("0.0"); } int num = (int)d.exponent % 3; long num2 = d.exponent - num; string format = (d.exponent >= 3) ? ("F" + (precision - num)) : string.Empty; string text = Math.Round(d.numerator * (double)multiplier_exponents[num], precision - num).ToString(format); if (num2 == 0) { return(text); } string str = (num2 >= maxExponent) ? doubleLetterCurrency(num2) : names[num2 / 3]; string str2 = string.Empty; if (num2 > maxExponent - 1) { str2 = "+"; } return(text + str + str2); }