PermilleFormatter
PermilleFormatter
PermilleFormatter
PermilleFormatter
Class
Definition
Formats and parses permillages.
public : sealed class PermilleFormatter : INumberFormatter, INumberFormatter2, INumberFormatterOptions, INumberParser, INumberRounderOption, ISignedZeroOption, ISignificantDigitsOptionpublic sealed class PermilleFormatter : INumberFormatter, INumberFormatter2, INumberFormatterOptions, INumberParser, INumberRounderOption, ISignedZeroOption, ISignificantDigitsOptionPublic NotInheritable Class PermilleFormatter Implements INumberFormatter, INumberFormatter2, INumberFormatterOptions, INumberParser, INumberRounderOption, ISignedZeroOption, ISignificantDigitsOption// You can use this class in JavaScript.
- Attributes
| Device family |
Windows 10 (introduced v10.0.10240.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v1)
|
Examples
// This scenario uses the Windows.Globalization.NumberFormatting.PercentFormatter and
// the Windows.Globalization.NumberFormatting.PermilleFormatter classes to format numbers
// as a percent or a permille.
// Create formatters initialized using the current user's preference settings.
var percentFormat = new Windows.Globalization.NumberFormatting.PercentFormatter();
var permilleFormat = new Windows.Globalization.NumberFormatting.PermilleFormatter();
// Make a random number.
var randomNumber = Math.random();
// Format with current user preferences.
var percent = percentFormat.format(randomNumber);
var permille = permilleFormat.format(randomNumber);
// Get a fixed number.
var fixedNumber = 500;
// Format with grouping using default.
var percentFormat1 = new Windows.Globalization.NumberFormatting.PercentFormatter();
percentFormat1.isGrouped = true;
var percent1 = percentFormat1.format(fixedNumber);
// Format with grouping using French.
var percentFormatFR = new Windows.Globalization.NumberFormatting.PercentFormatter(["fr-FR"], "FR");
percentFormatFR.isGrouped = true;
var percentFR = percentFormatFR.format(fixedNumber);
// Format with no fractional digits using default.
var percentFormat2 = new Windows.Globalization.NumberFormatting.PercentFormatter();
percentFormat2.fractionDigits = 0;
var percent2 = percentFormat2.format(fixedNumber);
// Format always with a decimal point.
var percentFormat3 = new Windows.Globalization.NumberFormatting.PercentFormatter();
percentFormat3.isDecimalPointAlwaysDisplayed = true;
percentFormat3.fractionDigits = 0;
var percent3 = percentFormat3.format(fixedNumber);
// Display the results.
var results = "Random number (" + randomNumber + ")\n" +
"Percent formatted: " + percent + "\n" +
"Permille formatted: " + permille + "\n\n" +
"Fixed number (" + fixedNumber + ")\n" +
"Percent formatted (grouped): " + percent1 + "\n" +
"Percent formatted (grouped as fr-FR): " + percentFR + "\n" +
"Percent formatted (no fractional digits): " + percent2 + "\n" +
"Percent formatted (always with a decimal point): " + percent3;
// This scenario uses the Windows.Globalization.NumberFormatting.PercentFormatter and
// the Windows.Globalization.NumberFormatting.PermilleFormatter classes to format numbers
// as a percent or a permille.
//using System.Text;
//using Windows.Globalization.NumberFormatting;
StringBuilder sb = new StringBuilder();
// Create numbers to format.
double randomNumber = new Random().NextDouble();
ulong fixedNumber = 500;
// Create percent formatters.
PercentFormatter defaultPercentFormatter = new PercentFormatter();
PercentFormatter languagePercentFormatter = new PercentFormatter(new[] { "fr-FR" }, "ZZ");
// Create permille formatters.
PermilleFormatter defaultPermilleFormatter = new PermilleFormatter();
PermilleFormatter languagePermilleFormatter = new PermilleFormatter(new[] { "ar" }, "ZZ");
// Format random numbers as percent or permille.
sb.AppendLine("Random number: " + randomNumber);
sb.AppendLine("Percent formatted: " + defaultPercentFormatter.Format(randomNumber));
sb.AppendLine("Permille formatted: " + defaultPermilleFormatter.Format(randomNumber));
sb.AppendLine();
sb.AppendLine("Language-specific percent formatted: " + languagePercentFormatter.Format(randomNumber));
sb.AppendLine("Language-specific permille formatted: " + languagePermilleFormatter.Format(randomNumber));
sb.AppendLine();
sb.AppendLine("Fixed number: " + fixedNumber);
// Format fixed number with grouping.
defaultPercentFormatter.IsGrouped = true;
sb.AppendLine("Percent formatted (grouped): " + defaultPercentFormatter.Format(fixedNumber));
//Format with grouping using French language.
languagePercentFormatter.IsGrouped = true;
sb.AppendLine("Percent formatted (grouped as fr-FR): " + defaultPercentFormatter.Format(fixedNumber));
// Format with no fraction digits.
defaultPercentFormatter.FractionDigits = 0;
sb.AppendLine("Percent formatted (no fractional digits): " + defaultPercentFormatter.Format(fixedNumber));
// Format always with a decimal point.
defaultPercentFormatter.IsDecimalPointAlwaysDisplayed = true;
sb.AppendLine("Percent formatted (always with a decimal point): " + defaultPercentFormatter.Format(fixedNumber));
Remarks
Note
If your app passes language tags used in this class to any National Language Support functions, it must first convert the tags by calling ResolveLocaleName.
Constructors
PermilleFormatter() PermilleFormatter() PermilleFormatter() PermilleFormatter()
Creates a PermilleFormatter object and initializes it to default values.
public : PermilleFormatter()public PermilleFormatter()Public Sub New()// You can use this method in JavaScript.
- See Also
PermilleFormatter(IIterable, String)
PermilleFormatter(IIterable, String)
PermilleFormatter(IIterable, String)
PermilleFormatter(IIterable, String)
Creates a PermilleFormatter object initialized by a language list and a geographic region.
public : PermilleFormatter(IIterable<PlatForm::String> languages, PlatForm::String geographicRegion)public PermilleFormatter(IEnumerable<String> languages, String geographicRegion)Public Sub New(languages As IEnumerable<String>, geographicRegion As String)// You can use this method in JavaScript.
- languages
- IIterable<PlatForm::String> IEnumerable<String> IEnumerable<String> IEnumerable<String>
The list of language identifiers, in priority order, representing the choice of languages. See Remarks.
- geographicRegion
- PlatForm::String String String String
The identifier for the geographic region.
Remarks
If your app passes language tags used in this class to any National Language Support functions, it must first convert the tags by calling ResolveLocaleName.
Starting in : Language tags support the Unicode extensions "ca-" and "nu-". (See Unicode Key/Type Definitions.) Note that the "nu-" extension can affect the numeral system used by PermilleFormatter objects.
- See Also
Properties
FractionDigits FractionDigits FractionDigits FractionDigits
Gets or sets the minimum number of digits to display for the fraction part of the permillage.
public : int FractionDigits { get; set; }public int FractionDigits { get; set; }Public ReadWrite Property FractionDigits As int// You can use this property in JavaScript.
- Value
- int int int int
The minimum number of digits to display.
GeographicRegion GeographicRegion GeographicRegion GeographicRegion
Gets the region that is used when formatting and parsing permille values.
public : PlatForm::String GeographicRegion { get; }public string GeographicRegion { get; }Public ReadOnly Property GeographicRegion As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The region that is used.
IntegerDigits IntegerDigits IntegerDigits IntegerDigits
Gets or sets the minimum number of digits to display for the integer part of the permillage.
public : int IntegerDigits { get; set; }public int IntegerDigits { get; set; }Public ReadWrite Property IntegerDigits As int// You can use this property in JavaScript.
- Value
- int int int int
The minimum number of digits to display.
IsDecimalPointAlwaysDisplayed IsDecimalPointAlwaysDisplayed IsDecimalPointAlwaysDisplayed IsDecimalPointAlwaysDisplayed
Gets or sets whether the decimal point of the permillage should always be displayed.
public : PlatForm::Boolean IsDecimalPointAlwaysDisplayed { get; set; }public bool IsDecimalPointAlwaysDisplayed { get; set; }Public ReadWrite Property IsDecimalPointAlwaysDisplayed As bool// You can use this property in JavaScript.
- Value
- PlatForm::Boolean bool bool bool
True if the decimal point of the permillage should always be displayed, and false otherwise.
IsGrouped IsGrouped IsGrouped IsGrouped
Gets or sets whether the integer part of the permillage should be grouped.
public : PlatForm::Boolean IsGrouped { get; set; }public bool IsGrouped { get; set; }Public ReadWrite Property IsGrouped As bool// You can use this property in JavaScript.
- Value
- PlatForm::Boolean bool bool bool
True if the integer part of the permillage should be grouped, and false otherwise.
IsZeroSigned IsZeroSigned IsZeroSigned IsZeroSigned
Gets or sets whether -0 is formatted as "-0" or "0".
public : PlatForm::Boolean IsZeroSigned { get; set; }public bool IsZeroSigned { get; set; }Public ReadWrite Property IsZeroSigned As bool// You can use this property in JavaScript.
- Value
- PlatForm::Boolean bool bool bool
True if -0 is formatted as "-0", and false if -0 is formatted as "0".
Remarks
You can set this property to specify that PermilleFormatter display negative 0 as "-0". This enables the scenario where you wish to display "-0" when it represents the rounded value of some small negative value (such as -0.00001).
This property defaults to false to be consistent with Windows 8 and Windows Server 2012, in which -0 was always formatted as "0".
Languages Languages Languages Languages
Gets the priority list of language identifiers that is used when formatting and parsing permille values.
public : IVectorView<string> Languages { get; }public IReadOnlyList<string> Languages { get; }Public ReadOnly Property Languages As IReadOnlyList<string>// You can use this property in JavaScript.
- Value
- IVectorView<PlatForm::String> IReadOnlyList<string> IReadOnlyList<string> IReadOnlyList<string>
The priority list of language identifiers.
Starting in : Language tags can support Unicode extensions. See the Remarks for the PermilleFormatter(IIterable(String), String) constructor.
Remarks
If your app passes language tags from this class to any National Language Support functions, it must first convert the tags by calling ResolveLocaleName.
NumberRounder NumberRounder NumberRounder NumberRounder
Gets or sets the current rounding strategy to be used when formatting permilles.
public : INumberRounder NumberRounder { get; set; }public INumberRounder NumberRounder { get; set; }Public ReadWrite Property NumberRounder As INumberRounder// You can use this property in JavaScript.
A number rounder object: IncrementNumberRounder or SignificantDigitsNumberRounder.
Remarks
When a Format method is called, the appropriate rounding function from the number rounder object manipulates the input prior to it being formatted.
NumeralSystem NumeralSystem NumeralSystem NumeralSystem
Gets or sets the numbering system that is used to format and parse permille values.
public : PlatForm::String NumeralSystem { get; set; }public string NumeralSystem { get; set; }Public ReadWrite Property NumeralSystem As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
A string that indicates the numeral system of the formatter, such as "Latn" for the Latin numeral system (0123456789) or "Arab" for the Arabic-Indic numeral system (٠١٢٣٤٥٦٧٨٩). See the supported NumeralSystem values.
Remarks
Note
For Arabic numeral systems ("Arab" and "ArabExt" or any numeral systems which use a combination of those characters):+ A period (.) immediately before a Latin digit is converted to the Arabic Decimal Separator (u+66b).
- A comma (,) immediately before a Latin digit is converted to Arabic Thousand Separator (u+66c).
- A percent (%) adjacent to a Latin digit is converted to Arabic Per Cent Symbol (u+66a).
- A permille (u+2030) adjacent to a Latin digit is converted to Arabic Per Mille Symbol (u+609).
- See Also
ResolvedGeographicRegion ResolvedGeographicRegion ResolvedGeographicRegion ResolvedGeographicRegion
Gets the geographic region that was most recently used to format or parse permille values.
public : PlatForm::String ResolvedGeographicRegion { get; }public string ResolvedGeographicRegion { get; }Public ReadOnly Property ResolvedGeographicRegion As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The geographic region that was most recently used to format or parse permille values.
ResolvedLanguage ResolvedLanguage ResolvedLanguage ResolvedLanguage
Gets the language that was most recently used to format or parse permille values.
public : PlatForm::String ResolvedLanguage { get; }public string ResolvedLanguage { get; }Public ReadOnly Property ResolvedLanguage As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The language from the priority list of language identifiers that was most recently used to format or parse permille values.
Starting in : Language tags can support Unicode extensions. See the Remarks for the PermilleFormatter(IIterable(String), String) constructor.
Remarks
If your app passes language tags from this class to any National Language Support functions, it must first convert the tags by calling ResolveLocaleName.
SignificantDigits SignificantDigits SignificantDigits SignificantDigits
Gets or sets the current padding to significant digits when a permille is formatted.
public : int SignificantDigits { get; set; }public int SignificantDigits { get; set; }Public ReadWrite Property SignificantDigits As int// You can use this property in JavaScript.
- Value
- int int int int
The number of significant digits.
Remarks
Trailing zeros are added to the format until the given number of significant digits is exhausted. If there are more digits, this property does not cause them to be truncated.
Methods
Format(Double) Format(Double) Format(Double) Format(Double)
Returns a string representation of a Double permillage.
public : PlatForm::String Format(double value)public string Format(Double value)Public Function Format(value As Double) As string// You can use this method in JavaScript.
- value
- double Double Double Double
The Double value to be formatted.
A string that represents the permillage.
- See Also
Format(Int64) Format(Int64) Format(Int64) Format(Int64)
Returns a string representation of an Int64 permillage.
public : PlatForm::String Format(long value)public string Format(Int64 value)Public Function Format(value As Int64) As string// You can use this method in JavaScript.
- value
- long Int64 Int64 Int64
The Int64 value to be formatted.
A string that represents the permillage.
- See Also
Format(UInt64) Format(UInt64) Format(UInt64) Format(UInt64)
Returns a string representation of a UInt64 permillage.
public : PlatForm::String Format(unsigned __int64 value)public string Format(UInt64 value)Public Function Format(value As UInt64) As string// You can use this method in JavaScript.
- value
- unsigned __int64 UInt64 UInt64 UInt64
The UInt64 value to be formatted.
A string that represents the permillage.
- See Also
FormatDouble(Double) FormatDouble(Double) FormatDouble(Double) FormatDouble(Double)
Returns a string representation of a Double permillage.
public : PlatForm::String FormatDouble(double value)public string FormatDouble(Double value)Public Function FormatDouble(value As Double) As string// You can use this method in JavaScript.
- value
- double Double Double Double
The Double value to be formatted.
A string that represents the permillage.
FormatInt(Int64) FormatInt(Int64) FormatInt(Int64) FormatInt(Int64)
Returns a string representation of an Int64 permillage.
public : PlatForm::String FormatInt(long value)public string FormatInt(Int64 value)Public Function FormatInt(value As Int64) As string// You can use this method in JavaScript.
- value
- long Int64 Int64 Int64
The Int64 value to be formatted.
A string that represents the permillage.
FormatUInt(UInt64) FormatUInt(UInt64) FormatUInt(UInt64) FormatUInt(UInt64)
Returns a string representation of a UInt64 permillage.
public : PlatForm::String FormatUInt(unsigned __int64 value)public string FormatUInt(UInt64 value)Public Function FormatUInt(value As UInt64) As string// You can use this method in JavaScript.
- value
- unsigned __int64 UInt64 UInt64 UInt64
The UInt64 value to be formatted.
A string that represents the permillage.
ParseDouble(String) ParseDouble(String) ParseDouble(String) ParseDouble(String)
Attempts to parse a string representation of a Double permillage.
public : IReference<double> ParseDouble(PlatForm::String text)public Nullable<double> ParseDouble(String text)Public Function ParseDouble(text As String) As Nullable( Of double )// You can use this method in JavaScript.
- text
- PlatForm::String String String String
The text to be parsed.
If successful, a Double that corresponds to the string representation, and otherwise null.
ParseInt(String) ParseInt(String) ParseInt(String) ParseInt(String)
Attempts to parse a string representation of an integer permillage.
public : IReference<long> ParseInt(PlatForm::String text)public Nullable<long> ParseInt(String text)Public Function ParseInt(text As String) As Nullable( Of long )// You can use this method in JavaScript.
- text
- PlatForm::String String String String
The text to be parsed.
If successful, an Int64 that corresponds to the string representation, and otherwise null.
ParseUInt(String) ParseUInt(String) ParseUInt(String) ParseUInt(String)
Attempts to parse a string representation of an unsigned integer permillage.
public : IReference<ulong> ParseUInt(PlatForm::String text)public Nullable<ulong> ParseUInt(String text)Public Function ParseUInt(text As String) As Nullable( Of ulong )// You can use this method in JavaScript.
- text
- PlatForm::String String String String
The text to be parsed.
If successful, a UInt64 that corresponds to the string representation, and otherwise null.