PercentFormatter
PercentFormatter
PercentFormatter
PercentFormatter
Class
Definition
Formats and parses percentages.
public : sealed class PercentFormatter : INumberFormatter, INumberFormatter2, INumberFormatterOptions, INumberParser, INumberRounderOption, ISignedZeroOption, ISignificantDigitsOptionpublic sealed class PercentFormatter : INumberFormatter, INumberFormatter2, INumberFormatterOptions, INumberParser, INumberRounderOption, ISignedZeroOption, ISignificantDigitsOptionPublic NotInheritable Class PercentFormatter 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
PercentFormatter() PercentFormatter() PercentFormatter() PercentFormatter()
Creates a PercentFormatter object and initializes it to default values.
public : PercentFormatter()public PercentFormatter()Public Sub New()// You can use this method in JavaScript.
- See Also
PercentFormatter(IIterable, String)
PercentFormatter(IIterable, String)
PercentFormatter(IIterable, String)
PercentFormatter(IIterable, String)
Creates a PercentFormatter object initialized by a language list and a geographic region.
public : PercentFormatter(IIterable<PlatForm::String> languages, PlatForm::String geographicRegion)public PercentFormatter(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 PercentFormatter objects.
- See Also
Properties
FractionDigits FractionDigits FractionDigits FractionDigits
Gets or sets the minimum number of digits to display for the fraction part of the percentage.
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 percentages.
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 percentage.
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 percentage 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 percentage should always be displayed, and false otherwise.
IsGrouped IsGrouped IsGrouped IsGrouped
Gets or sets whether the integer part of the percentage 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 percentage 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 PercentFormatter 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 percentages.
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 PercentFormatter(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 percents.
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 percentages.
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 percent 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 percent values.
ResolvedLanguage ResolvedLanguage ResolvedLanguage ResolvedLanguage
Gets the language that was most recently used to format or parse percent 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 percent values.
Starting in : Language tags can support Unicode extensions. See the Remarks for the PercentFormatter(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 percent 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 percentage.
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 percentage.
- See Also
Format(Int64) Format(Int64) Format(Int64) Format(Int64)
Returns a string representation of an Int64 percentage.
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 percentage.
- See Also
Format(UInt64) Format(UInt64) Format(UInt64) Format(UInt64)
Returns a string representation of a UInt64 percentage.
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 percentage.
- See Also
FormatDouble(Double) FormatDouble(Double) FormatDouble(Double) FormatDouble(Double)
Returns a string representation of a Double percentage.
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 percentage.
FormatInt(Int64) FormatInt(Int64) FormatInt(Int64) FormatInt(Int64)
Returns a string representation of an Int64 percentage.
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 percentage.
FormatUInt(UInt64) FormatUInt(UInt64) FormatUInt(UInt64) FormatUInt(UInt64)
Returns a string representation of a UInt64 percentage.
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 percentage.
ParseDouble(String) ParseDouble(String) ParseDouble(String) ParseDouble(String)
Attempts to parse a string representation of a Double percentage.
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 percentage.
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 percentage.
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.