Export (0) Print
Expand All

NumberFormatInfo.InvariantInfo Property

Gets the default read-only NumberFormatInfo that is culture-independent (invariant).

[Visual Basic]
Public Shared ReadOnly Property InvariantInfo As NumberFormatInfo
[C#]
public static NumberFormatInfo InvariantInfo {get;}
[C++]
public: __property static NumberFormatInfo* get_InvariantInfo();
[JScript]
public static function get InvariantInfo() : NumberFormatInfo;

Property Value

The default read-only NumberFormatInfo that is culture-independent (invariant).

Remarks

This property does not change, regardless of the current culture.

Example

[Visual Basic, C#, C++] The following code example displays the default property values of the InvariantInfo.

[Visual Basic] 
Imports System
Imports System.Globalization
Imports System.Text
Imports Microsoft.VisualBasic


Class SamplesNumberFormatInfo
   
   
   Public Shared Sub Main()
      
      ' Gets the InvariantInfo.
      Dim myInv As NumberFormatInfo = NumberFormatInfo.InvariantInfo
      
      ' Gets a UnicodeEncoding to display the Unicode value of symbols.
      Dim myUE As New UnicodeEncoding(True, False)
      Dim myCodes() As Byte
      
      ' Displays the default values for each of the properties.
      Console.WriteLine("InvariantInfo:")
      Console.WriteLine("Note: Symbols might not display correctly on the console,")
      Console.WriteLine("therefore, Unicode values are included.")
      Console.WriteLine(ControlChars.Tab + "CurrencyDecimalDigits" + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.CurrencyDecimalDigits)
      Console.WriteLine(ControlChars.Tab + "CurrencyDecimalSeparator" + ControlChars.Tab + "{0}", myInv.CurrencyDecimalSeparator)
      Console.WriteLine(ControlChars.Tab + "CurrencyGroupSeparator" + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.CurrencyGroupSeparator)
      Console.WriteLine(ControlChars.Tab + "CurrencyGroupSizes" + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.CurrencyGroupSizes(0))
      Console.WriteLine(ControlChars.Tab + "CurrencyNegativePattern" + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.CurrencyNegativePattern)
      Console.WriteLine(ControlChars.Tab + "CurrencyPositivePattern" + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.CurrencyPositivePattern)
      myCodes = myUE.GetBytes(myInv.CurrencySymbol)
      Console.WriteLine(ControlChars.Tab + "CurrencySymbol" + ControlChars.Tab + ControlChars.Tab + ControlChars.Tab + "{0}" + ControlChars.Tab + "(U+{1:x2}{2:x2})", myInv.CurrencySymbol, myCodes(0), myCodes(1))
      Console.WriteLine(ControlChars.Tab + "NaNSymbol" + ControlChars.Tab + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.NaNSymbol)
      Console.WriteLine(ControlChars.Tab + "NegativeInfinitySymbol" + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.NegativeInfinitySymbol)
      Console.WriteLine(ControlChars.Tab + "NegativeSign" + ControlChars.Tab + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.NegativeSign)
      Console.WriteLine(ControlChars.Tab + "NumberDecimalDigits" + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.NumberDecimalDigits)
      Console.WriteLine(ControlChars.Tab + "NumberDecimalSeparator" + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.NumberDecimalSeparator)
      Console.WriteLine(ControlChars.Tab + "NumberGroupSeparator" + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.NumberGroupSeparator)
      Console.WriteLine(ControlChars.Tab + "NumberGroupSizes" + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.NumberGroupSizes(0))
      Console.WriteLine(ControlChars.Tab + "NumberNegativePattern" + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.NumberNegativePattern)
      Console.WriteLine(ControlChars.Tab + "PercentDecimalDigits" + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.PercentDecimalDigits)
      Console.WriteLine(ControlChars.Tab + "PercentDecimalSeparator" + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.PercentDecimalSeparator)
      Console.WriteLine(ControlChars.Tab + "PercentGroupSeparator" + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.PercentGroupSeparator)
      Console.WriteLine(ControlChars.Tab + "PercentGroupSizes" + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.PercentGroupSizes(0))
      Console.WriteLine(ControlChars.Tab + "PercentNegativePattern" + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.PercentNegativePattern)
      Console.WriteLine(ControlChars.Tab + "PercentPositivePattern" + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.PercentPositivePattern)
      myCodes = myUE.GetBytes(myInv.PercentSymbol)
      Console.WriteLine(ControlChars.Tab + "PercentSymbol" + ControlChars.Tab + ControlChars.Tab + ControlChars.Tab + "{0}" + ControlChars.Tab + "(U+{1:x2}{2:x2})", myInv.PercentSymbol, myCodes(0), myCodes(1))
      myCodes = myUE.GetBytes(myInv.PerMilleSymbol)
      Console.WriteLine(ControlChars.Tab + "PerMilleSymbol" + ControlChars.Tab + ControlChars.Tab + ControlChars.Tab + "{0}" + ControlChars.Tab + "(U+{1:x2}{2:x2})", myInv.PerMilleSymbol, myCodes(0), myCodes(1))
      Console.WriteLine(ControlChars.Tab + "PositiveInfinitySymbol" + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.PositiveInfinitySymbol)
      Console.WriteLine(ControlChars.Tab + "PositiveSign" + ControlChars.Tab + ControlChars.Tab + ControlChars.Tab + "{0}", myInv.PositiveSign)
   End Sub 'Main 
End Class 'SamplesNumberFormatInfo


' This code produces the following output.
'
' InvariantInfo:
' Note: Symbols might not display correctly on the console,
' therefore, Unicode values are included.
'         CurrencyDecimalDigits           2
'         CurrencyDecimalSeparator        .
'         CurrencyGroupSeparator          ,
'         CurrencyGroupSizes              3
'         CurrencyNegativePattern         0
'         CurrencyPositivePattern         0
'         CurrencySymbol                         (U+00a4)
'         NaNSymbol                       NaN
'         NegativeInfinitySymbol          -Infinity
'         NegativeSign                    -
'         NumberDecimalDigits             2
'         NumberDecimalSeparator          .
'         NumberGroupSeparator            ,
'         NumberGroupSizes                3
'         NumberNegativePattern           1
'         PercentDecimalDigits            2
'         PercentDecimalSeparator         .
'         PercentGroupSeparator           ,
'         PercentGroupSizes               3
'         PercentNegativePattern          0
'         PercentPositivePattern          0
'         PercentSymbol                   %       (U+0025)
'         PerMilleSymbol                  %       (U+2030)
'         PositiveInfinitySymbol          Infinity
'         PositiveSign                    +

[C#] 
using System;
using System.Globalization;
using System.Text;

class SamplesNumberFormatInfo  {

   public static void Main()  {

      // Gets the InvariantInfo.
      NumberFormatInfo myInv = NumberFormatInfo.InvariantInfo;

      // Gets a UnicodeEncoding to display the Unicode value of symbols.
      UnicodeEncoding myUE = new UnicodeEncoding( true, false );
      byte[] myCodes;

      // Displays the default values for each of the properties.
      Console.WriteLine( "InvariantInfo:\nNote: Symbols might not display correctly on the console,\ntherefore, Unicode values are included." );
      Console.WriteLine( "\tCurrencyDecimalDigits\t\t{0}", myInv.CurrencyDecimalDigits );
      Console.WriteLine( "\tCurrencyDecimalSeparator\t{0}", myInv.CurrencyDecimalSeparator );
      Console.WriteLine( "\tCurrencyGroupSeparator\t\t{0}", myInv.CurrencyGroupSeparator );
      Console.WriteLine( "\tCurrencyGroupSizes\t\t{0}", myInv.CurrencyGroupSizes[0] );
      Console.WriteLine( "\tCurrencyNegativePattern\t\t{0}", myInv.CurrencyNegativePattern );
      Console.WriteLine( "\tCurrencyPositivePattern\t\t{0}", myInv.CurrencyPositivePattern );
      myCodes = myUE.GetBytes( myInv.CurrencySymbol );
      Console.WriteLine( "\tCurrencySymbol\t\t\t{0}\t(U+{1:x2}{2:x2})", myInv.CurrencySymbol, myCodes[0], myCodes[1] );
      Console.WriteLine( "\tNaNSymbol\t\t\t{0}", myInv.NaNSymbol );
      Console.WriteLine( "\tNegativeInfinitySymbol\t\t{0}", myInv.NegativeInfinitySymbol );
      Console.WriteLine( "\tNegativeSign\t\t\t{0}", myInv.NegativeSign );
      Console.WriteLine( "\tNumberDecimalDigits\t\t{0}", myInv.NumberDecimalDigits );
      Console.WriteLine( "\tNumberDecimalSeparator\t\t{0}", myInv.NumberDecimalSeparator );
      Console.WriteLine( "\tNumberGroupSeparator\t\t{0}", myInv.NumberGroupSeparator );
      Console.WriteLine( "\tNumberGroupSizes\t\t{0}", myInv.NumberGroupSizes[0] );
      Console.WriteLine( "\tNumberNegativePattern\t\t{0}", myInv.NumberNegativePattern );
      Console.WriteLine( "\tPercentDecimalDigits\t\t{0}", myInv.PercentDecimalDigits );
      Console.WriteLine( "\tPercentDecimalSeparator\t\t{0}", myInv.PercentDecimalSeparator );
      Console.WriteLine( "\tPercentGroupSeparator\t\t{0}", myInv.PercentGroupSeparator );
      Console.WriteLine( "\tPercentGroupSizes\t\t{0}", myInv.PercentGroupSizes[0] );
      Console.WriteLine( "\tPercentNegativePattern\t\t{0}", myInv.PercentNegativePattern );
      Console.WriteLine( "\tPercentPositivePattern\t\t{0}", myInv.PercentPositivePattern );
      myCodes = myUE.GetBytes( myInv.PercentSymbol );
      Console.WriteLine( "\tPercentSymbol\t\t\t{0}\t(U+{1:x2}{2:x2})", myInv.PercentSymbol, myCodes[0], myCodes[1] );
      myCodes = myUE.GetBytes( myInv.PerMilleSymbol );
      Console.WriteLine( "\tPerMilleSymbol\t\t\t{0}\t(U+{1:x2}{2:x2})", myInv.PerMilleSymbol, myCodes[0], myCodes[1] );
      Console.WriteLine( "\tPositiveInfinitySymbol\t\t{0}", myInv.PositiveInfinitySymbol );
      Console.WriteLine( "\tPositiveSign\t\t\t{0}", myInv.PositiveSign );

   }
}


/*

This code produces the following output.

InvariantInfo:
Note: Symbols might not display correctly on the console,
therefore, Unicode values are included.
        CurrencyDecimalDigits           2
        CurrencyDecimalSeparator        .
        CurrencyGroupSeparator          ,
        CurrencyGroupSizes              3
        CurrencyNegativePattern         0
        CurrencyPositivePattern         0
        CurrencySymbol                         (U+00a4)
        NaNSymbol                       NaN
        NegativeInfinitySymbol          -Infinity
        NegativeSign                    -
        NumberDecimalDigits             2
        NumberDecimalSeparator          .
        NumberGroupSeparator            ,
        NumberGroupSizes                3
        NumberNegativePattern           1
        PercentDecimalDigits            2
        PercentDecimalSeparator         .
        PercentGroupSeparator           ,
        PercentGroupSizes               3
        PercentNegativePattern          0
        PercentPositivePattern          0
        PercentSymbol                   %       (U+0025)
        PerMilleSymbol                  %       (U+2030)
        PositiveInfinitySymbol          Infinity
        PositiveSign                    +

*/


[C++] 
#using <mscorlib.dll>
using namespace System;
using namespace System::Globalization;
using namespace System::Text;

int main()
{
   // Gets the InvariantInfo.
   NumberFormatInfo * myInv = NumberFormatInfo::InvariantInfo;

   // Gets a UnicodeEncoding to display the Unicode value of symbols.
   UnicodeEncoding* myUE = new UnicodeEncoding(true, false);
   Byte myCodes[];

   // Displays the default values for each of the properties.
   Console::WriteLine(S"InvariantInfo:\nNote: Symbols might not display correctly on the console, \ntherefore, Unicode values are included.");
   Console::WriteLine(S"\tCurrencyDecimalDigits\t\t {0}", __box(myInv -> CurrencyDecimalDigits));
   Console::WriteLine(S"\tCurrencyDecimalSeparator\t {0}", myInv -> CurrencyDecimalSeparator);
   Console::WriteLine(S"\tCurrencyGroupSeparator\t\t {0}", myInv -> CurrencyGroupSeparator);
   Console::WriteLine(S"\tCurrencyGroupSizes\t\t {0}", __box(myInv -> CurrencyGroupSizes[0]));
   Console::WriteLine(S"\tCurrencyNegativePattern\t\t {0}", __box(myInv -> CurrencyNegativePattern));
   Console::WriteLine(S"\tCurrencyPositivePattern\t\t {0}", __box(myInv -> CurrencyPositivePattern));
   myCodes = myUE -> GetBytes(myInv -> CurrencySymbol);
   Console::WriteLine(S"\tCurrencySymbol\t\t\t {0}\t(U+ {1:x2} {2:x2})", myInv -> CurrencySymbol, __box(myCodes[0]), __box(myCodes[1]));
   Console::WriteLine(S"\tNaNSymbol\t\t\t {0}", myInv -> NaNSymbol);
   Console::WriteLine(S"\tNegativeInfinitySymbol\t\t {0}", myInv -> NegativeInfinitySymbol);
   Console::WriteLine(S"\tNegativeSign\t\t\t {0}", myInv -> NegativeSign);
   Console::WriteLine(S"\tNumberDecimalDigits\t\t {0}", __box(myInv -> NumberDecimalDigits));
   Console::WriteLine(S"\tNumberDecimalSeparator\t\t {0}", myInv -> NumberDecimalSeparator);
   Console::WriteLine(S"\tNumberGroupSeparator\t\t {0}", myInv -> NumberGroupSeparator);
   Console::WriteLine(S"\tNumberGroupSizes\t\t {0}", __box(myInv -> NumberGroupSizes[0]));
   Console::WriteLine(S"\tNumberNegativePattern\t\t {0}", __box(myInv -> NumberNegativePattern));
   Console::WriteLine(S"\tPercentDecimalDigits\t\t {0}", __box(myInv -> PercentDecimalDigits));
   Console::WriteLine(S"\tPercentDecimalSeparator\t\t {0}", myInv -> PercentDecimalSeparator);
   Console::WriteLine(S"\tPercentGroupSeparator\t\t {0}", myInv -> PercentGroupSeparator);
   Console::WriteLine(S"\tPercentGroupSizes\t\t {0}", __box(myInv -> PercentGroupSizes[0]));
   Console::WriteLine(S"\tPercentNegativePattern\t\t {0}", __box(myInv -> PercentNegativePattern));
   Console::WriteLine(S"\tPercentPositivePattern\t\t {0}", __box(myInv -> PercentPositivePattern));
   myCodes = myUE -> GetBytes(myInv -> PercentSymbol);
   Console::WriteLine(S"\tPercentSymbol\t\t\t {0}\t(U+ {1:x2} {2:x2})", myInv -> PercentSymbol, __box(myCodes[0]), __box(myCodes[1]));
   myCodes = myUE -> GetBytes(myInv -> PerMilleSymbol);
   Console::WriteLine(S"\tPerMilleSymbol\t\t\t {0}\t(U+ {1:x2} {2:x2})", myInv -> PerMilleSymbol, __box(myCodes[0]), __box(myCodes[1]));
   Console::WriteLine(S"\tPositiveInfinitySymbol\t\t {0}", myInv -> PositiveInfinitySymbol);
   Console::WriteLine(S"\tPositiveSign\t\t\t {0}", myInv -> PositiveSign);
}

/*

This code produces the following output.

InvariantInfo:
Note: Symbols might not display correctly on the console,
therefore, Unicode values are included.
CurrencyDecimalDigits           2
CurrencyDecimalSeparator        .
CurrencyGroupSeparator          ,
CurrencyGroupSizes              3
CurrencyNegativePattern         0
CurrencyPositivePattern         0
CurrencySymbol                         (U+00a4)
NaNSymbol                       NaN
NegativeInfinitySymbol          -Infinity
NegativeSign                    -
NumberDecimalDigits             2
NumberDecimalSeparator          .
NumberGroupSeparator            ,
NumberGroupSizes                3
NumberNegativePattern           1
PercentDecimalDigits            2
PercentDecimalSeparator         .
PercentGroupSeparator           ,
PercentGroupSizes               3
PercentNegativePattern          0
PercentPositivePattern          0
PercentSymbol                   %       (U+0025)
PerMilleSymbol                  %       (U+2030)
PositiveInfinitySymbol          Infinity
PositiveSign                    +

*/

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard

See Also

NumberFormatInfo Class | NumberFormatInfo Members | System.Globalization Namespace

Show:
© 2014 Microsoft