private string IntegerToString (string format, IFormatProvider fp)
{
NumberFormatInfo nfi = GetNumberFormatInstance (fp);
switch (_specifier) {
case 'C':
return FormatCurrency (_precision, nfi);
case 'D':
return FormatDecimal (_precision, nfi);
case 'E':
return FormatExponential (_precision, nfi);
case 'F':
return FormatFixedPoint (_precision, nfi);
case 'G':
if (_precision <= 0)
return FormatDecimal (-1, nfi);
return FormatGeneral (_precision, nfi);
case 'N':
return FormatNumber (_precision, nfi);
case 'P':
return FormatPercent (_precision, nfi);
case 'X':
return FormatHexadecimal (_precision);
default:
if (_isCustomFormat)
return FormatCustom (format, nfi);
throw new FormatException ("The specified format '" + format + "' is invalid");
}
}