Beispiel #1
0
        private static string ToStringUsDigitsFormattingInternal <T>(
            T number,
            DigitsFormatting digitsFormattingSettings = DigitsFormatting.None,
            int precision = 2)
            where T : struct,
        IComparable,
        IComparable <T>,
        IConvertible,
        IEquatable <T>,
        IFormattable
        {
            var currentNoCommaFormatSpecifier = string.Concat("0.", new string('0', precision));
            var currentComaFormatSpecifier    = string.Concat("##,0.", new string('0', precision));
            var formattedDigits = digitsFormattingSettings.HasFlag(
                DigitsFormatting.NoComma)
                ? number.ToString(currentNoCommaFormatSpecifier, _usCultureInfo)
                : number.ToString(currentComaFormatSpecifier, _usCultureInfo);

            if (digitsFormattingSettings.HasFlag(DigitsFormatting.PrefixDollar))
            {
                formattedDigits = string.Concat("$", formattedDigits);
            }

            if (digitsFormattingSettings.HasFlag(DigitsFormatting.PrefixMinus))
            {
                formattedDigits = string.Concat("-", formattedDigits);
            }

            if (digitsFormattingSettings.HasFlag(DigitsFormatting.SufixDollar))
            {
                formattedDigits = string.Concat(formattedDigits, "$");
            }

            return(formattedDigits);
        }