private static unsafe void FormatScientific(StringBuilder sb, NumberBuffer number, int nMinDigits, int nMaxDigits, NumberFormatInfo info, char expChar)
{
char* dig = number.digits;
sb.Append((*dig != 0) ? *dig++ : '0');
if (nMaxDigits != 1) // For E0 we would like to suppress the decimal point
sb.Append(info.NumberDecimalSeparator);
while (--nMaxDigits > 0)
sb.Append((*dig != 0) ? *dig++ : '0');
int e = number.digits[0] == 0 ? 0 : number.scale - 1;
FormatExponent(sb, info, e, expChar, 3, true);
}