NumberFormatInfo.CurrencyNegativePattern Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает шаблон формата для отрицательных значений денежных сумм.
public:
property int CurrencyNegativePattern { int get(); void set(int value); };
public int CurrencyNegativePattern { get; set; }
member this.CurrencyNegativePattern : int with get, set
Public Property CurrencyNegativePattern As Integer
Значение свойства
Шаблон формата для отрицательных значений денежных сумм. По умолчанию для свойства InvariantInfo задано значение 0, представляющее "($n)", где "$" — это CurrencySymbol, а n
— число.
Исключения
Свойству присваивается значение, которое меньше 0 или больше 16. В .NET Core 3.1 и более ранних версиях это исключение возникает, если значение больше 15.
Для свойства задается значение, а объект NumberFormatInfo доступен только для чтения.
Примеры
В следующем примере показано, как CurrencyNegativePattern свойство определяет формат отрицательных значений валюты. Он извлекает все определенные языки и региональные параметры, определенные на хост-компьютере, и отображает значение свойства каждого языка CurrencyNegativePattern и региональных параметров, связанный с ним шаблон и число в формате денежной единицы.
using System;
using System.Collections.Generic;
using System.Globalization;
public class Example : IComparer<CultureInfo>
{
public static void Main()
{
// Assign possible values and their associated patterns to a
// generic Dictionary object.
Dictionary<int, String> patterns = new Dictionary<int, String>();
string[] patternStrings= { "($n)", "-$n", "$-n", "$n-", "(n$)",
"-n$", "n-$", "n$-", "-n $", "-$ n",
"n $-", "$ n-", "$ -n", "n- $", "($ n)",
"(n $)", "$- n" };
for (int ctr = patternStrings.GetLowerBound(0);
ctr <= patternStrings.GetUpperBound(0); ctr++)
patterns.Add(ctr, patternStrings[ctr]);
// Retrieve all specific cultures.
CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.SpecificCultures);
Array.Sort(cultures, new Example());
double number = -16.335;
// Display the culture, CurrencyNegativePattern value, associated pattern, and result.
foreach (var culture in cultures)
Console.WriteLine("{0,-15} {1,2} ({2,5}) {3,15}", culture.Name + ":",
culture.NumberFormat.CurrencyNegativePattern,
patterns[culture.NumberFormat.CurrencyNegativePattern],
number.ToString("C", culture));
}
public int Compare(CultureInfo x, CultureInfo y)
{
return String.Compare(x.Name, y.Name);
}
}
// A portion of the output appears as follows:
// ca-ES: 8 ( -n $) -16,34 €
// co-FR: 8 ( -n $) -16,34 €
// cs-CZ: 8 ( -n $) -16,34 Kč
// cy-GB: 1 ( -$n) -£16.34
// da-DK: 12 ( $ -n) kr. -16,34
// de-AT: 9 ( -$ n) -€ 16,34
// de-CH: 2 ( $-n) Fr.-16.34
// de-DE: 8 ( -n $) -16,34 €
// de-LI: 2 ( $-n) CHF-16.34
// de-LU: 8 ( -n $) -16,34 €
// dsb-DE: 8 ( -n $) -16,34 €
// luy-KE: 16 ( $- n) Ksh- 16.34
//
// The result shown here happens only if using ICU.
// Apps that use NLS, for example, .NET Framework apps, might see different results.
// Globalization data can change, which would also change these results.
Imports System.Collections.Generic
Imports System.Globalization
Public Class Example : Implements IComparer(Of CultureInfo)
Public Shared Sub Main()
' Assign possible values and their associated patterns to a
' generic Dictionary object.
Dim patterns As New Dictionary(Of Integer, String)
Dim patternStrings() As String = { "($n)", "-$n", "$-n", "$n-", "(n$)",
"-n$", "n-$", "n$-", "-n $", "-$ n",
"n $-", "$ n-", "$ -n", "n- $", "($ n)",
"(n $)", "$- n" }
For ctr As Integer = patternStrings.GetLowerBound(0) To patternStrings.GetUpperBound(0)
patterns.Add(ctr, patternStrings(ctr))
Next
' Retrieve all specific cultures.
Dim cultures() As CultureInfo = CultureInfo.GetCultures(CultureTypes.SpecificCultures)
Array.Sort(cultures, New Example())
Dim number As Double = -16.335
' Display the culture, CurrencyNegativePattern value, associated pattern, and result.
For Each culture In cultures
Console.WriteLine("{0,-15} {1,2} ({2,5}) {3,15}", culture.Name + ":",
culture.NumberFormat.CurrencyNegativePattern,
patterns.Item(culture.NumberFormat.CurrencyNegativePattern),
number.ToString("C", culture))
Next
End Sub
Public Function Compare(x As CultureInfo, y As CultureInfo) As Integer _
Implements IComparer(Of CultureInfo).Compare
Return String.Compare(x.Name, y.Name)
End Function
End Class
' A portion of the output appears as follows:
' ca-ES: 8 ( -n $) -16,34 €
' co-FR: 8 ( -n $) -16,34 €
' cs-CZ: 8 ( -n $) -16,34 Kč
' cy-GB: 1 ( -$n) -£16.34
' da-DK: 12 ( $ -n) kr. -16,34
' de-AT: 9 ( -$ n) -€ 16,34
' de-CH: 2 ( $-n) Fr.-16.34
' de-DE: 8 ( -n $) -16,34 €
' de-LI: 2 ( $-n) CHF-16.34
' de-LU: 8 ( -n $) -16,34 €
' dsb-DE: 8 ( -n $) -16,34 €
' luy-KE: 16 ( $- n) Ksh- 16.34
'
' The result shown here happens only if using ICU.
' Apps that use NLS, for example, .NET Framework apps, might see different results.
' Globalization data can change, which would also change these results.
Комментарии
Свойство CurrencyNegativePattern используется со строкой стандартного формата "C" для определения шаблона отрицательных значений валют. Дополнительные сведения см. в статье Строки стандартных числовых форматов. Это свойство имеет одно из значений в следующей таблице. Символ "$" — это CurrencySymbol, символ "-" — это NegativeSign, а n
— число.
Значение | Связанный шаблон |
---|---|
0 | ($n) |
1 | -$n |
2 | $-n |
3 | $n- |
4 | (n$) |
5 | -n$ |
6 | n-$ |
7 | n$- |
8 | -n $ |
9 | -$ n |
10 | n $- |
11 | $ n- |
12 | $-n |
13 | n- $ |
14 | ($ n) |
15 | (n $) |
16 | $- n |