System.NumberFormatter.FormatCurrency C# (CSharp) Méthode

FormatCurrency() public méthode

public FormatCurrency ( int precision, NumberFormatInfo nfi ) : string
precision int
nfi System.Globalization.NumberFormatInfo
Résultat string
		public string FormatCurrency (int precision, NumberFormatInfo nfi)
		{
			precision = (precision >= 0 ? precision : nfi.CurrencyDecimalDigits);
			RoundDecimal (precision);
			ResetCharBuf (IntegerDigits * 2 + precision * 2 + 16);

			if (_positive) {
				switch (nfi.CurrencyPositivePattern) {
				case 0:
					Append (nfi.CurrencySymbol);
					break;
				case 2:
					Append (nfi.CurrencySymbol);
					Append (' ');
					break;
				}
			}
			else {
				switch (nfi.CurrencyNegativePattern) {
				case 0:
					Append ('(');
					Append (nfi.CurrencySymbol);
					break;
				case 1:
					Append (nfi.NegativeSign);
					Append (nfi.CurrencySymbol);
					break;
				case 2:
					Append (nfi.CurrencySymbol);
					Append (nfi.NegativeSign);
					break;
				case 3:
					Append (nfi.CurrencySymbol);
					break;
				case 4:
					Append ('(');
					break;
				case 5:
					Append (nfi.NegativeSign);
					break;
				case 8:
					Append (nfi.NegativeSign);
					break;
				case 9:
					Append (nfi.NegativeSign);
					Append (nfi.CurrencySymbol);
					Append (' ');
					break;
				case 11:
					Append (nfi.CurrencySymbol);
					Append (' ');
					break;
				case 12:
					Append (nfi.CurrencySymbol);
					Append (' ');
					Append (nfi.NegativeSign);
					break;
				case 14:
					Append ('(');
					Append (nfi.CurrencySymbol);
					Append (' ');
					break;
				case 15:
					Append ('(');
					break;
				}
			}

			AppendIntegerStringWithGroupSeparator (nfi.RawCurrencyGroupSizes, nfi.CurrencyGroupSeparator);

			if (precision > 0) {
				Append (nfi.CurrencyDecimalSeparator);
				AppendDecimalString (precision);
			}

			if (_positive) {
				switch (nfi.CurrencyPositivePattern) {
				case 1:
					Append (nfi.CurrencySymbol);
					break;
				case 3:
					Append (' ');
					Append (nfi.CurrencySymbol);
					break;
				}
			}
			else {
				switch (nfi.CurrencyNegativePattern) {
				case 0:
					Append (')');
					break;
				case 3:
					Append (nfi.NegativeSign);
					break;
				case 4:
					Append (nfi.CurrencySymbol);
					Append (')');
					break;
				case 5:
					Append (nfi.CurrencySymbol);
					break;
				case 6:
					Append (nfi.NegativeSign);
					Append (nfi.CurrencySymbol);
					break;
				case 7:
					Append (nfi.CurrencySymbol);
					Append (nfi.NegativeSign);
					break;
				case 8:
					Append (' ');
					Append (nfi.CurrencySymbol);
					break;
				case 10:
					Append (' ');
					Append (nfi.CurrencySymbol);
					Append (nfi.NegativeSign);
					break;
				case 11:
					Append (nfi.NegativeSign);
					break;
				case 13:
					Append (nfi.NegativeSign);
					Append (' ');
					Append (nfi.CurrencySymbol);
					break;
				case 14:
					Append (')');
					break;
				case 15:
					Append (' ');
					Append (nfi.CurrencySymbol);
					Append (')');
					break;
				}
			}

			return new string (_cbuf, 0, _ind);
		}