Compartir vía


NumberFormatInfo.CurrencyNegativePattern Propiedad

Definición

Obtiene o establece el modelo de formato para los valores de divisa negativos.

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

Valor de propiedad

Modelo de formato para los valores de divisa negativos. El valor predeterminado de InvariantInfo es 0, que representa "($n)", donde "$" es CurrencySymbol y n es un número.

Excepciones

La propiedad se establece en un valor menor que 0 o mayor que 16. En .NET Core 3.1 y versiones anteriores, esta excepción se produce si el valor es mayor que 15.

La propiedad se está estableciendo y el objeto NumberFormatInfo es de solo lectura.

Ejemplos

En el ejemplo siguiente se muestra cómo define la CurrencyNegativePattern propiedad el formato de los valores de moneda negativos. Recupera todas las referencias culturales específicas definidas en el equipo host y muestra el valor de propiedad de CurrencyNegativePattern cada referencia cultural, su patrón asociado y un número con formato de valor de moneda.

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.

Comentarios

La CurrencyNegativePattern propiedad se usa con la cadena de formato estándar "C" para definir el patrón de valores de moneda negativos. Para más información, vea Cadenas de formato numérico estándar. Esta propiedad tiene uno de los valores de la tabla siguiente. El símbolo "$" es CurrencySymbol, el símbolo "-" es NegativeSigny n es un número.

Valor Patrón asociado
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

Se aplica a

Consulte también