NumberSubstitution Class
Specifies how numbers in text are displayed in different cultures.
Assembly: PresentationCore (in PresentationCore.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
The NumberSubstitution type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | NumberSubstitution() | Initializes a new instance of the NumberSubstitution class. |
![]() | NumberSubstitution(NumberCultureSource, CultureInfo, NumberSubstitutionMethod) | Initializes a new instance of the NumberSubstitution class with explicit property values. |
| Name | Description | |
|---|---|---|
![]() | CultureOverride | Gets or sets a value which identifies which culture to use when the value of the CultureSource property is set to Override. |
![]() | CultureSource | Gets or sets a value which identifies the source of the culture value that is used to determine number substitution. |
![]() | Substitution | Gets or sets a value which identifies the substitution method that is used to determine number substitution. |
| Name | Description | |
|---|---|---|
![]() | Equals | Determines whether the specified object is equal to the current NumberSubstitution object. (Overrides Object::Equals(Object).) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() ![]() | GetCultureOverride | Returns the value of CultureOverride from the provided element. |
![]() ![]() | GetCultureSource | Returns the value of CultureSource from the provided element. |
![]() | GetHashCode | Serves as a hash function for NumberSubstitution. It is suitable for use in hashing algorithms and data structures such as a hash table. (Overrides Object::GetHashCode().) |
![]() ![]() | GetSubstitution | Returns the value of Substitution from the provided element. |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() ![]() | SetCultureOverride | Sets the value of CultureOverride for a provided element. |
![]() ![]() | SetCultureSource | Sets the value of CultureSource for a provided element. |
![]() ![]() | SetSubstitution | Sets the value of Substitution for a provided element. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() ![]() | CultureOverrideProperty | Identifies the CultureOverride dependency property. |
![]() ![]() | CultureSourceProperty | Identifies the CultureSource dependency property. |
![]() ![]() | SubstitutionProperty | Identifies the Substitution dependency property. |
Most cultures use the decimal system to represent numbers, but many cultures use different digit shapes. The following table shows several numbering systems used by different cultures.

It is not sufficient to provide alternate Unicode code points for each set of digit shapes, because, unlike letters, digits are used in calculations. Every application, every operating system, and every run-time library contains code dedicated to converting an internal binary format numeric value to a string of characters, and vice versa. These conversion routines are coded to use Unicode digits "0030" through "0039".
The NumberSubstitution class provides functionality that allows different cultures to substitute the appropriate digit shapes at rendering time. This functionality is similar to the one used for providing font substitution and language dependent font rendering.
Note |
|---|
Many cultures are discarding their traditional digits shapes and adopting Western digits shapes, therefore the number substitution functionality recognizes the distinction for each culture between traditional digit shapes and national standard digit shapes. |
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
