Condividi tramite


NumberFormatInfo.CurrencyNegativePattern Proprietà

Definizione

Ottiene o imposta il modello di formato per i valori di valuta negativi.

public:
 property int CurrencyNegativePattern { int get(); void set(int value); };
public int CurrencyNegativePattern { get; set; }
member this.CurrencyNegativePattern : int with get, set
Public Property CurrencyNegativePattern As Integer

Valore della proprietà

Modello di formato per i valori di valuta negativi. L'impostazione predefinita per InvariantInfo è 0, che rappresenta "($n)", dove "$" è la proprietà CurrencySymbol e n è un numero.

Eccezioni

La proprietà è impostata su un valore minore di 0 o maggiore di 16. In .NET Core 3.1 e versioni precedenti, questa eccezione viene generata se il valore è maggiore di 15.

La proprietà viene impostata e l'oggetto NumberFormatInfo è di sola lettura.

Esempio

Nell'esempio seguente viene illustrato come la CurrencyNegativePattern proprietà definisce il formato dei valori di valuta negativi. Recupera tutte le impostazioni cultura specifiche definite nel computer host e visualizza il valore della proprietà di CurrencyNegativePattern ogni cultura, il modello associato e un numero formattato come valore di valuta.

using System;
using System.Collections.Generic;
using System.Globalization;

public class Example : IComparer<CultureInfo>
{
   public static void Main()
   {
      // Assign possible values and their associated patterns to a
      // generic Dictionary object.
      Dictionary<int, String> patterns = new Dictionary<int, String>();
      string[] patternStrings= { "($n)", "-$n", "$-n", "$n-", "(n$)",
                                 "-n$", "n-$", "n$-", "-n $", "-$ n",
                                 "n $-", "$ n-", "$ -n", "n- $", "($ n)",
                                 "(n $)", "$- n" };
      for (int ctr = patternStrings.GetLowerBound(0);
           ctr <= patternStrings.GetUpperBound(0); ctr++)
         patterns.Add(ctr, patternStrings[ctr]);

      // Retrieve all specific cultures.
      CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.SpecificCultures);
      Array.Sort(cultures, new Example());

      double number = -16.335;
      // Display the culture, CurrencyNegativePattern value, associated pattern, and result.
      foreach (var culture in cultures)
         Console.WriteLine("{0,-15} {1,2} ({2,5}) {3,15}", culture.Name + ":",
                           culture.NumberFormat.CurrencyNegativePattern,
                           patterns[culture.NumberFormat.CurrencyNegativePattern],
                           number.ToString("C", culture));
   }

   public int Compare(CultureInfo x, CultureInfo y)
   {
      return String.Compare(x.Name, y.Name);
   }
}
// A portion of the output appears as follows:
//       ca-ES:           8 ( -n $)        -16,34 €
//       co-FR:           8 ( -n $)        -16,34 €
//       cs-CZ:           8 ( -n $)       -16,34 Kč
//       cy-GB:           1 (  -$n)         -£16.34
//       da-DK:          12 ( $ -n)      kr. -16,34
//       de-AT:           9 ( -$ n)        -€ 16,34
//       de-CH:           2 (  $-n)       Fr.-16.34
//       de-DE:           8 ( -n $)        -16,34 €
//       de-LI:           2 (  $-n)       CHF-16.34
//       de-LU:           8 ( -n $)        -16,34 €
//       dsb-DE:          8 ( -n $)        -16,34 €
//       luy-KE:         16 ( $- n)      Ksh- 16.34
//
// The result shown here happens only if using ICU.
// Apps that use NLS, for example, .NET Framework apps, might see different results.
// Globalization data can change, which would also change these results.
Imports System.Collections.Generic
Imports System.Globalization

Public Class Example : Implements IComparer(Of CultureInfo)
   Public Shared Sub Main()
      ' Assign possible values and their associated patterns to a 
      ' generic Dictionary object.
      Dim patterns As New Dictionary(Of Integer, String)
      Dim patternStrings() As String = { "($n)", "-$n", "$-n", "$n-", "(n$)", 
                                         "-n$", "n-$", "n$-", "-n $", "-$ n",
                                         "n $-", "$ n-", "$ -n", "n- $", "($ n)",
                                         "(n $)", "$- n" }    
      For ctr As Integer = patternStrings.GetLowerBound(0) To patternStrings.GetUpperBound(0)
         patterns.Add(ctr, patternStrings(ctr))
      Next

      ' Retrieve all specific cultures.
      Dim cultures() As CultureInfo = CultureInfo.GetCultures(CultureTypes.SpecificCultures)
      Array.Sort(cultures, New Example())
      
      Dim number As Double = -16.335
      ' Display the culture, CurrencyNegativePattern value, associated pattern, and result.
      For Each culture In cultures
         Console.WriteLine("{0,-15} {1,2} ({2,5}) {3,15}", culture.Name + ":", 
                           culture.NumberFormat.CurrencyNegativePattern,
                           patterns.Item(culture.NumberFormat.CurrencyNegativePattern),
                           number.ToString("C", culture))
      Next
   End Sub
   
   Public Function Compare(x As CultureInfo, y As CultureInfo) As Integer _
                           Implements IComparer(Of CultureInfo).Compare
      Return String.Compare(x.Name, y.Name)                           
   End Function                           
End Class
' A portion of the output appears as follows:
'       ca-ES:           8 ( -n $)        -16,34 €
'       co-FR:           8 ( -n $)        -16,34 €
'       cs-CZ:           8 ( -n $)       -16,34 Kč
'       cy-GB:           1 (  -$n)         -£16.34
'       da-DK:          12 ( $ -n)      kr. -16,34
'       de-AT:           9 ( -$ n)        -€ 16,34
'       de-CH:           2 (  $-n)       Fr.-16.34
'       de-DE:           8 ( -n $)        -16,34 €
'       de-LI:           2 (  $-n)       CHF-16.34
'       de-LU:           8 ( -n $)        -16,34 €
'       dsb-DE:          8 ( -n $)        -16,34 €
'       luy-KE:         16 ( $- n)      Ksh- 16.34
'
' The result shown here happens only if using ICU.
' Apps that use NLS, for example, .NET Framework apps, might see different results.
' Globalization data can change, which would also change these results.

Commenti

La CurrencyNegativePattern proprietà viene utilizzata con la stringa di formato standard "C" per definire il modello di valori di valuta negativi. Per altre informazioni, vedere Stringhe di formato numerico standard. Questa proprietà ha uno dei valori nella tabella seguente. Il simbolo "$" è CurrencySymbol, il simbolo "-" è NegativeSigne n è un numero.

Valore Modello associato
0 ($n)
1 -$n
2 $-n
3 $n-
4 (n$)
5 -n$
6 n-$
7 n$-
8 -n $
9 -$ n
10 n $-
11 $ n-
12 $ -n
13 n- $
14 ($ n)
15 (n $)
16 $- n

Si applica a

Vedi anche