NumberFormatInfo.InvariantInfo Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает объект NumberFormatInfo, доступный только для чтения, который не зависит от языка и региональных параметров (инвариантный).
public:
static property System::Globalization::NumberFormatInfo ^ InvariantInfo { System::Globalization::NumberFormatInfo ^ get(); };
public static System.Globalization.NumberFormatInfo InvariantInfo { get; }
static member InvariantInfo : System.Globalization.NumberFormatInfo
Public Shared ReadOnly Property InvariantInfo As NumberFormatInfo
Значение свойства
Объект, доступный только для чтения, который не зависит от языка и региональных параметров (инвариантный).
Примеры
В следующем примере отображаются значения свойств по умолчанию объекта InvariantInfo.
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 = gcnew UnicodeEncoding( true,false );
array<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 +
*/
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 +
*/
Imports System.Globalization
Imports System.Text
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
End Class
' 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 +
Комментарии
Объект NumberFormatInfo , возвращаемый этим свойством, не изменяется, независимо от текущего языка и региональных параметров. Он представляет соглашения о форматировании инвариантного языка и региональных параметров, которые связаны с английским языком, но не с какой-либо страной или регионом. Инвариантный язык и региональные параметры используются в операциях форматирования, которые не зависят от языка и региональных параметров или создают результирующих строк, подходящих для отображения в нескольких языках и региональных параметрах.