Vue d'ensemble des formats

Le .NET Framework fournit un mécanisme général de mise en forme personnalisable pour convertir une valeur en chaîne pouvant être affichée. Par exemple, une valeur numérique peut être mise en forme au format hexadécimal, à l'aide de la notation scientifique ou sous la forme d'une série de chiffres divisés en groupes avec un signe de ponctuation spécifié par l'utilisateur. Les dates et les heures peuvent être mises en forme de manière appropriée pour une culture, une région ou un pays particuliers. Une constante énumérée peut être mise en forme comme sa valeur numérique ou son nom.

Vous contrôlez la mise en forme en spécifiant une chaîne de mise en forme et un fournisseur de format ou en utilisant les paramètres par défaut. Une chaîne de format contient un ou plusieurs caractères spécificateurs de format qui indiquent comment une valeur doit être convertie. Un fournisseur de format fournit des informations requises sur les contrôles, les remplacements et la culture pour convertir un type spécifique.

Vous pouvez substituer la manière dont le .NET Framework interprète une chaîne de format en implémentant l'interface IFormattable, fournir votre propre fournisseur de format en implémentant l'interface IFormatProvider et effectuer votre propre mise en forme en implémentant l'interface ICustomFormatter.

Le .NET Framework offre une fonctionnalité appelée mise en forme composite, qui utilise une ou plusieurs chaînes de format pour incorporer une ou plusieurs valeurs mises en forme dans une chaîne résultante. La chaîne résultante peut faire l'objet d'un traitement supplémentaire, être affichée dans la console du système ou être écrite dans un flux.

Spécificateurs de format

Le .NET Framework définit des spécificateurs de format standard et personnalisés pour mettre en forme des nombres, des dates et des heures ainsi que des énumérations. Les spécificateurs de format sont utilisés par diverses méthodes qui mettent en forme des chaînes de sortie, telles que Console.WriteLine et la méthode ToString de n'importe quel type ainsi que certaines méthodes qui analysent les chaînes d'entrée, telles que DateTime.ParseExact.

Pour plus d'informations sur la mise en forme des données numériques, consultez Chaînes de format numériques. Pour voir un tableau des spécificateurs de format numériques couramment utilisés, consultez Chaînes de format numériques standard et pour voir un tableau des spécificateurs de format numériques personnalisés que vous pouvez utiliser pour créer votre propre chaîne de format, consultez Chaînes de format numériques personnalisées.

Pour plus d'informations sur la mise en forme des dates et des heures, consultez Chaînes de format de date et d'heure. Pour voir un tableau des spécificateurs de format de date et d'heure couramment utilisés, consultez Chaînes de format DateTime standard et pour voir un tableau des spécificateurs de format de date et d'heure personnalisés que vous pouvez utiliser pour créer votre propre chaîne de format, consultez Chaînes de format DateTime personnalisées.

Pour plus d'informations sur la mise en forme des énumérations et pour voir un tableau des spécificateurs de format d'énumération standard, consultez Chaînes de format d'énumération.

Analyse et spécificateurs de format

La mise en forme convertit la valeur d'un type en chaîne ; l'analyse, à l'inverse de la mise en forme, crée un type de donnée à partir d'une représentation sous forme de chaîne. Un fournisseur de format détermine comment une analyse est effectuée et certaines méthodes, telles que DateTime.ParseExact, prennent un paramètre de spécificateur de format qui indique le format souhaité de la représentation sous forme de chaîne. Pour plus d'informations sur l'analyse, consultez Analyse de chaînes.

ToString et spécificateurs de format

Le .NET Framework prend en charge la surcharge de la méthode ToString par défaut, qui effectue une mise en forme rudimentaire, avec une version spécialisée de ToString qui utilise un paramètre de spécificateur de format pour indiquer comment la valeur doit être mise en forme. Pour plus d'informations, consultez Mise en forme des types de base et l'interface IFormattable.

Fournisseurs de format

Les fournisseurs de format procurent des informations telles que le caractère à utiliser comme virgule décimale lors de la mise en forme de chaînes numériques ou le caractère de séparation à appliquer lors de la mise en forme d'un objet DateTime. Les fournisseurs de format définissent les caractères utilisés pour la mise en forme par les spécificateurs de format, mais ne définissent pas les spécificateurs proprement dits.

Un fournisseur de format peut soit être passé à la surcharge de ToString nécessaire à l'interface IFormattable, soit être prédéterminé par la méthode que vous utilisez pour mettre en forme le texte si aucun fournisseur de format n'est passé.

Si aucun fournisseur de format n'est passé, les informations sont déduites ou obtenues d'un des fournisseurs de format standard inclus dans le .NET Framework. En général, les classes qui implémentent IFormattable fournissent également des surcharges de ToString qui n'acceptent qu'un spécificateur de format ou qu'un fournisseur de format. La méthode ToString par défaut, qui n'accepte aucun paramètre, est héritée de la classe Object.

Pour plus d'informations sur le fournisseur de format prédéfini des données numériques, consultez NumberFormatInfo. Pour plus d'informations sur le fournisseur de format prédéfini des dates et des heures, consultez DateTimeFormatInfo. Pour plus d'informations sur la création d'un fournisseur de format personnalisé ou d'un fournisseur de format pour une autre culture, consultez CultureInfo et Mise en forme pour différentes cultures.

Mise en forme composite

La fonctionnalité de mise en forme composite du .NET Framework, prise en charge par des méthodes telles que String.Format et les méthodes de sortie de System.Console et System.IO.TextWriter, remplace chaque élément de format indexé incorporé dans une chaîne source par l'équivalent mis en forme d'un élément correspondant dans une liste de valeurs. Pour plus d'informations, consultez Mise en forme composite.

Voir aussi

Référence

IFormattable Interface
IFormatProvider Interface
ICustomFormatter Interface

Concepts

Chaînes de format numériques
Chaînes de format de date et d'heure
Chaînes de format d'énumération
Personnalisation des chaînes de format
Mise en forme composite

Autres ressources

Mise en forme des types
Analyse de chaînes
Opérations de chaînes de base