System.Globalization.FormatProvider.Number.FormatScientific C# (CSharp) Method

FormatScientific() private static method

private static FormatScientific ( System.StringBuilder sb, NumberBuffer number, int nMinDigits, int nMaxDigits, NumberFormatInfo info, char expChar ) : void
sb System.StringBuilder
number NumberBuffer
nMinDigits int
nMaxDigits int
info NumberFormatInfo
expChar char
return void
            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);
            }