web-dev-qa-db-fra.com

Qu'est-ce que le format ToString ("N0")?

Ce code provient du livre "Programming Windows Sixth Edition" de Charles Pettzold:

public object Convert(object value, Type targetType, object parameter, string language) 
{ 
    return ((double)value).ToString("N0"); 
}

ToString("N0") est censé afficher la valeur avec des séparateurs de virgule et aucun point décimal. Je n'arrive pas à trouver la référence au format approprié ToString surcharge et "N0" Dans la documentation. Veuillez me diriger au bon endroit dans la documentation .NET.

60
Alex F

Vérifiez following article sur MSDN à propos d’exemples du format N. Ceci est également couvert dans le Standard Numeric Format Strings article.

Extraits pertinents:

//       Formatting of 1054.32179:
//          N:                     1,054.32 
//          N0:                    1,054 
//          N1:                    1,054.3 
//          N2:                    1,054.32 
//          N3:                    1,054.322 

Lorsque le spécificateur de précision contrôle le nombre de chiffres fractionnaires dans la chaîne de résultat, la chaîne de résultat reflète un nombre arrondi à un résultat représentable le plus proche du résultat infiniment précis. S'il y a deux résultats à peu près également représentables:

  • Sur les environnements .NET Framework et .NET Core jusqu'à .NET Core 2.0, le moteur d'exécution sélectionne le résultat avec le chiffre le moins significatif le plus élevé (c'est-à-dire, à l'aide de MidpointRounding.AwayFromZero).
  • Sur .NET Core 2.1 et versions ultérieures, le moteur d'exécution sélectionne le résultat avec le chiffre le moins significatif (c'est-à-dire, à l'aide de MidpointRounding.ToEven).
110
Darin Dimitrov

C'est ici que se trouve la documentation:

http://msdn.Microsoft.com/en-us/library/dwhawy9k.aspx

Le spécificateur de format numérique ("N") convertit un nombre en une chaîne de la forme "-d, ddd, ddd.ddd…", où "-" indique un symbole de nombre négatif si nécessaire, "d" indique un chiffre (0 -9) ...

Et c'est là qu'ils parlent de la valeur par défaut (2):

http://msdn.Microsoft.com/en-us/library/system.globalization.numberformatinfo.numberdecimaldigits.aspx

      // Displays a negative value with the default number of decimal digits (2).
      Int64 myInt = -1234;
      Console.WriteLine( myInt.ToString( "N", nfi ) );
4
nurettin

Voici un bon début peut-être

Double.ToString ()

Jetez un coup d’œil dans les exemples pour connaître les différentes options de formatage Double.ToString (string)

3
skyfoot

Vous pouvez trouver la liste des formats ici (dans Double.ToString () - MSDN-Article) sous forme de commentaires dans la section exemple.

2
jAC