NumberFormatInfo.CurrentInfo NumberFormatInfo.CurrentInfo NumberFormatInfo.CurrentInfo NumberFormatInfo.CurrentInfo Property

定义

获取基于当前区域性对值进行格式设置的只读的 NumberFormatInfoGets a read-only NumberFormatInfo that formats values based on the current culture.

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

属性值

基于当前线程的区域性的只读的 NumberFormatInfoA read-only NumberFormatInfo based on the culture of the current thread.

示例

下面的示例演示返回的对象CurrentInfoCultureInfo.CurrentCulture.NumberFormat属性是完全相同。The following example shows that the objects returned by the CurrentInfo and CultureInfo.CurrentCulture.NumberFormat properties are identical. 它然后使用反射来显示的属性值NumberFormatInfo返回对象CurrentInfo当前区域性为 EN-US 的系统上的属性。It then uses reflection to display the property values of the NumberFormatInfo object returned by the CurrentInfo property on a system whose current culture is 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: +

注解

检索NumberFormatInfo对象从CurrentInfo属性等同于检索NumberFormatInfo对象从CultureInfo.CurrentCulture.NumberFormat属性。Retrieving a NumberFormatInfo object from the CurrentInfo property is equivalent to retrieving a NumberFormatInfo object from the CultureInfo.CurrentCulture.NumberFormat property.

适用于

另请参阅