NumberFormatInfo.CurrentInfo Propriété

Définition

Obtient un objet NumberFormatInfo en lecture seule qui met en forme des valeurs en fonction de la culture actuelle.

public:
 static property System::Globalization::NumberFormatInfo ^ CurrentInfo { System::Globalization::NumberFormatInfo ^ get(); };
public static System.Globalization.NumberFormatInfo CurrentInfo { get; }
static member CurrentInfo : System.Globalization.NumberFormatInfo
Public Shared ReadOnly Property CurrentInfo As NumberFormatInfo

Valeur de propriété

Objet NumberFormatInfo en lecture seule basé sur la culture du thread actif.

Exemples

L’exemple suivant montre que les objets retournés par les CurrentInfo propriétés et CultureInfo.CurrentCulture.NumberFormat sont identiques. Il utilise ensuite la réflexion pour afficher les valeurs de propriété de l’objet NumberFormatInfo retourné par la propriété sur un système dont la CurrentInfo culture actuelle est en-US.

using System;
using System.Collections;
using System.Globalization;
using System.Reflection;

public class Example : IComparer
{
   public static void Main()
   {
      NumberFormatInfo nfi1 = NumberFormatInfo.CurrentInfo;
      NumberFormatInfo nfi2 = CultureInfo.CurrentCulture.NumberFormat;
      Console.WriteLine("Objects equal: {0}", nfi1.Equals(nfi2));
      Console.WriteLine("Equal references: {0}\n", Object.ReferenceEquals(nfi1, nfi2));

      PropertyInfo[] props = nfi1.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public);
      Array.Sort(props, new Example());
      Console.WriteLine("Properties of NumberFormat.CurrentInfo object:");
      foreach (var prop in props) {
         if (prop.PropertyType.IsArray) {
            Array arr = prop.GetValue(nfi1) as Array;
            Console.Write(String.Format("   {0}: ", prop.Name) + "{ ");
            int ctr = 0;
            foreach (var item in arr) {
               Console.Write("{0}{1}", item, ctr == arr.Length - 1 ?" }" : ", ");
               ctr++;
            }
            Console.WriteLine();
         }
         else {
            Console.WriteLine("   {0}: {1}", prop.Name, prop.GetValue(nfi1));
        }
      }
   }

   public int Compare(Object x, Object y)
   {
      if (x == null && y == null) return 0;

      PropertyInfo px = x as PropertyInfo;
      if (px == null) return -1;

      PropertyInfo py = y as PropertyInfo;
      if (py == null) return 1;

      return String.Compare(px.Name, py.Name);
   }
}
// The example displays the following output:
//       Objects equal: True
//       Equal references: True
//
//       Properties of NumberFormat.CurrentInfo object:
//          CurrencyDecimalDigits: 2
//          CurrencyDecimalSeparator: .
//          CurrencyGroupSeparator: ,
//          CurrencyGroupSizes: { 3 }
//          CurrencyNegativePattern: 0
//          CurrencyPositivePattern: 0
//          CurrencySymbol: $
//          DigitSubstitution: None
//          IsReadOnly: True
//          NaNSymbol: NaN
//          NativeDigits: { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
//          NegativeInfinitySymbol: -Infinity
//          NegativeSign: -
//          NumberDecimalDigits: 2
//          NumberDecimalSeparator: .
//          NumberGroupSeparator: ,
//          NumberGroupSizes: { 3 }
//          NumberNegativePattern: 1
//          PercentDecimalDigits: 2
//          PercentDecimalSeparator: .
//          PercentGroupSeparator: ,
//          PercentGroupSizes: { 3 }
//          PercentNegativePattern: 0
//          PercentPositivePattern: 0
//          PercentSymbol: %
//          PerMilleSymbol: %
//          PositiveInfinitySymbol: Infinity
//          PositiveSign: +
Imports System.Collections
Imports System.Globalization
Imports System.Reflection

Public Class Example : Implements IComparer
   Public Shared Sub Main()
      Dim nfi1 As NumberFormatInfo = NumberFormatInfo.CurrentInfo
      Dim nfi2 As NumberFormatInfo = CultureInfo.CurrentCulture.NumberFormat
      Console.WriteLine("Objects equal: {0}", nfi1.Equals(nfi2))
      Console.WriteLine("Equal references: {0}", Object.ReferenceEquals(nfi1, nfi2))
      Console.WriteLine()
      
      Dim props() As PropertyInfo = nfi1.GetType().GetProperties(BindingFlags.Instance Or BindingFlags.Public)
      Array.Sort(props, New Example)
      Console.WriteLine("Properties of NumberFormat.CurrentInfo object:")
      For Each prop In props
         If prop.PropertyType.IsArray Then
            Dim arr As Array = CType(prop.GetValue(nfi1), Array)
            Console.Write(String.Format("   {0}: ", prop.Name) + "{ ")
            Dim ctr As Integer = 0
            For Each item In arr
               Console.Write("{0}{1}", item, If(ctr = arr.Length - 1, " }", ", "))
               ctr += 1
            Next
            Console.WriteLine()
         Else
            Console.WriteLine("   {0}: {1}", prop.Name, prop.GetValue(nfi1))
        End If   
      Next      
   End Sub
   
   Private Function Compare(x As Object, y As Object) As Integer _
      Implements IComparer.Compare
      
      If x Is Nothing And y Is Nothing Then Return 0
      Dim px As PropertyInfo = TryCast(x, PropertyInfo)
      If px Is Nothing Then Return -1
      
      Dim py As PropertyInfo = TryCast(y, PropertyInfo)
      If py Is Nothing Then Return 1
      
      Return String.Compare(px.Name, py.Name)
   End Function
End Class
' The example displays the following output:
'       Objects equal: True
'       Equal references: True
'       
'       Properties of NumberFormat.CurrentInfo object:
'          CurrencyDecimalDigits: 2
'          CurrencyDecimalSeparator: .
'          CurrencyGroupSeparator: ,
'          CurrencyGroupSizes: { 3 }
'          CurrencyNegativePattern: 0
'          CurrencyPositivePattern: 0
'          CurrencySymbol: $
'          DigitSubstitution: None
'          IsReadOnly: True
'          NaNSymbol: NaN
'          NativeDigits: { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
'          NegativeInfinitySymbol: -Infinity
'          NegativeSign: -
'          NumberDecimalDigits: 2
'          NumberDecimalSeparator: .
'          NumberGroupSeparator: ,
'          NumberGroupSizes: { 3 }
'          NumberNegativePattern: 1
'          PercentDecimalDigits: 2
'          PercentDecimalSeparator: .
'          PercentGroupSeparator: ,
'          PercentGroupSizes: { 3 }
'          PercentNegativePattern: 0
'          PercentPositivePattern: 0
'          PercentSymbol: %
'          PerMilleSymbol: %
'          PositiveInfinitySymbol: Infinity
'          PositiveSign: +

Remarques

La récupération d’un NumberFormatInfo objet à partir de la CurrentInfo propriété équivaut à récupérer un NumberFormatInfo objet à partir de la CultureInfo.CurrentCulture.NumberFormat propriété .

S’applique à

Voir aussi