NumberFormatInfo.CurrencyNegativePattern 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定負數貨幣值的格式模式。
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 |