CultureInfo.NumberFormat-Eigenschaft

Ruft die NumberFormatInfo ab, die das für die Kultur spezifische Format zum Anzeigen von Zahlen, Währungen und Prozentsätzen definiert, oder legt diese fest.

Namespace: System.Globalization
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Overridable Property NumberFormat As NumberFormatInfo
'Usage
Dim instance As CultureInfo
Dim value As NumberFormatInfo

value = instance.NumberFormat

instance.NumberFormat = value
public virtual NumberFormatInfo NumberFormat { get; set; }
public:
virtual property NumberFormatInfo^ NumberFormat {
    NumberFormatInfo^ get ();
    void set (NumberFormatInfo^ value);
}
/** @property */
public NumberFormatInfo get_NumberFormat ()

/** @property */
public void set_NumberFormat (NumberFormatInfo value)
public function get NumberFormat () : NumberFormatInfo

public function set NumberFormat (value : NumberFormatInfo)

Eigenschaftenwert

Eine NumberFormatInfo, die das für die Kultur spezifische Format zum Anzeigen von Zahlen, Währungen und Prozentsätzen definiert.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentNullException

Die Eigenschaft ist auf NULL (Nothing in Visual Basic) festgelegt.

NotSupportedException

Die CultureInfo ist für eine neutrale Kultur.

InvalidOperationException

Die NumberFormat-Eigenschaft oder eine der NumberFormatInfo-Eigenschaften wird festgelegt, und die CultureInfo ist schreibgeschützt.

Hinweise

Eine NumberFormatInfo-Klasse kann nicht für neutrale Kulturen, sondern nur für die invariante Kultur oder für spezifische Kulturen erstellt werden.

Die Kulturen sind i. d. R. in drei Gruppen zusammengefasst: die invariante Kultur, die neutralen Kulturen und die spezifischen Kulturen.

Bei der invarianten Kultur wird keine Kultur berücksichtigt. Sie können die invariante Kultur durch einen Namen mit leerer Zeichenfolge ("") oder durch den zugehörigen Kulturbezeichner 0x007F angeben. InvariantCulture ruft eine Instanz der invarianten Kultur ab. Sie ist der englischen Sprache zugeordnet, aber ohne Bezug auf ein Land oder eine Region. Sie kann in fast allen Methoden im Globalization-Namespace verwendet werden, die eine Kultur erfordern.

Eine neutrale Kultur ist eine Kultur, die einer Sprache zugeordnet ist, aber keinem Land bzw. keiner Region. Eine spezifische Kultur ist eine Kultur, die einer Sprache und einem Land bzw. einer Region zugeordnet ist. Beispielsweise ist "fr" eine neutrale Kultur, und "fr-FR" ist eine spezifische Kultur. Beachten Sie, dass es sich bei "zh-CHS" (vereinfachtes Chinesisch) und "zh-CHT" (traditionelles Chinesisch) um neutrale Kulturen handelt.

Überschreibt

In der Systemsteuerung können über Regions- und Sprachoptionen (bzw. über Ländereinstellungen oder Gebietsschema) einige Werte überschrieben werden, die der aktuellen Kultur von Windows zugeordnet sind. Beispielsweise können Benutzer das Datum in einem anderen Format anzeigen oder eine andere Währung als die Standardwährung der Kultur verwenden.

Wenn UseUserOverridetrue ist und die angegebene Kultur mit der aktuellen Kultur von Windows übereinstimmt, verwendet CultureInfo diese Überschreibungen, einschließlich von Benutzereinstellungen für die Eigenschaften der DateTimeFormatInfo-Instanz, die von der DateTimeFormat-Eigenschaft zurückgegeben wird, und der Eigenschaften der NumberFormatInfo-Instanz, die von der NumberFormat-Eigenschaft zurückgegeben wird. Wenn die Benutzereinstellungen nicht mit der Kultur kompatibel sind, die der CultureInfo zugeordnet ist, weil z. B. der ausgewählte Kalender keiner der OptionalCalendars ist, sind die Methodenergebnisse und Eigenschaftenwerte undefiniert.

Der Wert der DateTimeFormat-Eigenschaft sowie der NumberFormat-Eigenschaft wird erst berechnet, wenn auf die Eigenschaft zugegriffen wird. Wenn Sie die aktuelle Kultur mithilfe der Systemsteuerung in eine neue Kultur ändern möchten, während die Anwendung ausgeführt wird, greifen Sie auf die DateTimeFormat-Eigenschaft oder die NumberFormat-Eigenschaft zu. Dann erhält die Anwendung die Standardwerte für die neue Kultur und nicht die Überschreibungen für die ursprüngliche Kultur. Wenn die Überschreibungen für die ursprünglich aktuelle Kultur erhalten bleiben sollen, führen Sie vor dem Ändern der aktuellen Kultur einen Zugriff auf die DateTimeFormat-Eigenschaft sowie die NumberFormat-Eigenschaft aus.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, dass CultureInfo.Clone ebenfalls die mit der CultureInfo verbundene DateTimeFormatInfo-Instanz und die NumberFormatInfo-Instanz klont.

Imports System
Imports System.Globalization


Public Class SamplesCultureInfo
   
   Public Shared Sub Main()
      
      ' Creates and initializes a CultureInfo.
      Dim myCI As New CultureInfo("en-US", False)
      
      ' Clones myCI and modifies the DTFI and NFI instances associated with the clone.
      Dim myCIclone As CultureInfo = CType(myCI.Clone(), CultureInfo)
      myCIclone.DateTimeFormat.AMDesignator = "a.m."
      myCIclone.DateTimeFormat.DateSeparator = "-"
      myCIclone.NumberFormat.CurrencySymbol = "USD"
      myCIclone.NumberFormat.NumberDecimalDigits = 4
      
      ' Displays the properties of the DTFI and NFI instances associated with the original and with the clone. 
      Console.WriteLine("DTFI/NFI PROPERTY" + ControlChars.Tab + "ORIGINAL" + ControlChars.Tab + "MODIFIED CLONE")
      Console.WriteLine("DTFI.AMDesignator" + ControlChars.Tab + "{0}" + ControlChars.Tab + ControlChars.Tab + "{1}", myCI.DateTimeFormat.AMDesignator, myCIclone.DateTimeFormat.AMDesignator)
      Console.WriteLine("DTFI.DateSeparator" + ControlChars.Tab + "{0}" + ControlChars.Tab + ControlChars.Tab + "{1}", myCI.DateTimeFormat.DateSeparator, myCIclone.DateTimeFormat.DateSeparator)
      Console.WriteLine("NFI.CurrencySymbol" + ControlChars.Tab + "{0}" + ControlChars.Tab + ControlChars.Tab + "{1}", myCI.NumberFormat.CurrencySymbol, myCIclone.NumberFormat.CurrencySymbol)
      Console.WriteLine("NFI.NumberDecimalDigits" + ControlChars.Tab + "{0}" + ControlChars.Tab + ControlChars.Tab + "{1}", myCI.NumberFormat.NumberDecimalDigits, myCIclone.NumberFormat.NumberDecimalDigits)

   End Sub 'Main 

End Class 'SamplesCultureInfo


' This code produces the following output.
'
' DTFI/NFI PROPERTY       ORIGINAL        MODIFIED CLONE
' DTFI.AMDesignator       AM              a.m.
' DTFI.DateSeparator      /               -
' NFI.CurrencySymbol      $               USD
' NFI.NumberDecimalDigits 2               4
using System;
using System.Globalization;


public class SamplesCultureInfo  {

   public static void Main()  {

      // Creates and initializes a CultureInfo.
      CultureInfo myCI = new CultureInfo("en-US", false);

      // Clones myCI and modifies the DTFI and NFI instances associated with the clone.
      CultureInfo myCIclone = (CultureInfo) myCI.Clone();
      myCIclone.DateTimeFormat.AMDesignator = "a.m.";
      myCIclone.DateTimeFormat.DateSeparator = "-";
      myCIclone.NumberFormat.CurrencySymbol = "USD";
      myCIclone.NumberFormat.NumberDecimalDigits = 4;

      // Displays the properties of the DTFI and NFI instances associated with the original and with the clone. 
      Console.WriteLine( "DTFI/NFI PROPERTY\tORIGINAL\tMODIFIED CLONE" );
      Console.WriteLine( "DTFI.AMDesignator\t{0}\t\t{1}", myCI.DateTimeFormat.AMDesignator, myCIclone.DateTimeFormat.AMDesignator );
      Console.WriteLine( "DTFI.DateSeparator\t{0}\t\t{1}", myCI.DateTimeFormat.DateSeparator, myCIclone.DateTimeFormat.DateSeparator );
      Console.WriteLine( "NFI.CurrencySymbol\t{0}\t\t{1}", myCI.NumberFormat.CurrencySymbol, myCIclone.NumberFormat.CurrencySymbol );
      Console.WriteLine( "NFI.NumberDecimalDigits\t{0}\t\t{1}", myCI.NumberFormat.NumberDecimalDigits, myCIclone.NumberFormat.NumberDecimalDigits );
      
   }

}

/*
This code produces the following output.

DTFI/NFI PROPERTY       ORIGINAL        MODIFIED CLONE
DTFI.AMDesignator       AM              a.m.
DTFI.DateSeparator      /               -
NFI.CurrencySymbol      $               USD
NFI.NumberDecimalDigits 2               4

*/
using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Creates and initializes a CultureInfo.
   CultureInfo^ myCI = gcnew CultureInfo( "en-US",false );
   
   // Clones myCI and modifies the DTFI and NFI instances associated with the clone.
   CultureInfo^ myCIclone = dynamic_cast<CultureInfo^>(myCI->Clone());
   myCIclone->DateTimeFormat->AMDesignator = "a.m.";
   myCIclone->DateTimeFormat->DateSeparator = "-";
   myCIclone->NumberFormat->CurrencySymbol = "USD";
   myCIclone->NumberFormat->NumberDecimalDigits = 4;
   
   // Displays the properties of the DTFI and NFI instances associated with the original and with the clone. 
   Console::WriteLine( "DTFI/NFI PROPERTY\tORIGINAL\tMODIFIED CLONE" );
   Console::WriteLine( "DTFI.AMDesignator\t{0}\t\t{1}", myCI->DateTimeFormat->AMDesignator, myCIclone->DateTimeFormat->AMDesignator );
   Console::WriteLine( "DTFI.DateSeparator\t{0}\t\t{1}", myCI->DateTimeFormat->DateSeparator, myCIclone->DateTimeFormat->DateSeparator );
   Console::WriteLine( "NFI.CurrencySymbol\t{0}\t\t{1}", myCI->NumberFormat->CurrencySymbol, myCIclone->NumberFormat->CurrencySymbol );
   Console::WriteLine( "NFI.NumberDecimalDigits\t{0}\t\t{1}", myCI->NumberFormat->NumberDecimalDigits, myCIclone->NumberFormat->NumberDecimalDigits );
}

/*
This code produces the following output.

DTFI/NFI PROPERTY       ORIGINAL        MODIFIED CLONE
DTFI.AMDesignator       AM              a.m.
DTFI.DateSeparator      /               -
NFI.CurrencySymbol      $               USD
NFI.NumberDecimalDigits 2               4
*/
import System.* ;
import System.Globalization.* ;

public class SamplesCultureInfo
{
    public static void main(String[] args)
    {
        // Creates and initializes a CultureInfo.
        CultureInfo myCI =  new CultureInfo("en-US", false);

        // Clones myCI and modifies the DTFI and NFI instances 
        // associated with the clone.
        CultureInfo myCIclone = ((CultureInfo)(myCI.Clone()));
        myCIclone.get_DateTimeFormat().set_AMDesignator( "a.m.");
        myCIclone.get_DateTimeFormat().set_DateSeparator ("-");
        myCIclone.get_NumberFormat().set_CurrencySymbol("USD");
        myCIclone.get_NumberFormat().set_NumberDecimalDigits(4);

        // Displays the properties of the DTFI and NFI instances associated 
        // with the original and with the clone. 
        Console.WriteLine("DTFI/NFI PROPERTY\tORIGINAL\tMODIFIED CLONE");
        Console.WriteLine("DTFI.AMDesignator\t{0}\t\t{1}", 
            myCI.get_DateTimeFormat().get_AMDesignator(), 
            myCIclone.get_DateTimeFormat().get_AMDesignator());
        Console.WriteLine("DTFI.DateSeparator\t{0}\t\t{1}", 
            myCI.get_DateTimeFormat().get_DateSeparator(), 
            myCIclone.get_DateTimeFormat().get_DateSeparator());
        Console.WriteLine("NFI.CurrencySymbol\t{0}\t\t{1}", 
            myCI.get_NumberFormat().get_CurrencySymbol(), 
            myCIclone.get_NumberFormat().get_CurrencySymbol());
        Console.WriteLine("NFI.NumberDecimalDigits\t{0}\t\t{1}",
            System.Convert.ToString(
            myCI.get_NumberFormat().get_NumberDecimalDigits()), 
            System.Convert.ToString(
            myCIclone.get_NumberFormat().get_NumberDecimalDigits()));
    } //main
} //SamplesCultureInfo

/*
This code produces the following output.

DTFI/NFI PROPERTY       ORIGINAL        MODIFIED CLONE
DTFI.AMDesignator       AM              a.m.
DTFI.DateSeparator      /               -
NFI.CurrencySymbol      $               USD
NFI.NumberDecimalDigits 2               4
*/

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

CultureInfo-Klasse
CultureInfo-Member
System.Globalization-Namespace
NumberFormatInfo
GetFormat
CultureInfo.DateTimeFormat-Eigenschaft