Maison >développement back-end >C++ >Comment puis-je afficher avec précision les décimales dans le formatage de chaîne ?

Comment puis-je afficher avec précision les décimales dans le formatage de chaîne ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-16 13:21:03965parcourir

How Can I Precisely Display Decimals in String Formatting?

Afficher avec précision les décimales à l'aide du formatage de chaîne

En programmation, il est souvent nécessaire d'afficher les valeurs dans un format spécifique. Le formatage de chaîne permet de contrôler la façon dont les nombres sont affichés, y compris le nombre de décimales affichées.

Par exemple, considérons un champ de prix qui affiche un nombre entier ou jusqu'à deux décimales. Pour ce faire, nous devons ajuster la chaîne de format selon que le prix contient ou non des décimales.

L'exemple suivant illustre le comportement de formatage par défaut :

<code>// 显示两位小数
String.Format("{0:0.00}", 123.4567); // "123.46"
String.Format("{0:0.00}", 123.4); // "123.40"
String.Format("{0:0.00}", 123.0); // "123.00"</code>

Cependant, pour afficher des entiers sans décimales, nous devons préciser le nombre de chiffres obligatoires et facultatifs. Par exemple, la chaîne de format suivante affichera les prix avec jusqu'à deux décimales, ou sous forme de nombre entier si le prix n'a pas de décimales :

<code>String.Format("{0:0.##}", 123.4567); // "123.46"
String.Format("{0:0.##}", 123.4); // "123.4"
String.Format("{0:0.##}", 123.0); // "123"</code>

Dans la chaîne de format ci-dessus, "0" représente un nombre obligatoire et "#" représente un nombre facultatif. Par conséquent, la chaîne "0.##" garantit que le prix comporte au moins un chiffre avant la virgule décimale et au plus deux chiffres après la virgule décimale.

Pour simplifier la solution, nous pouvons utiliser l'opérateur ternaire pour vérifier si le prix est un entier et le formater en conséquence :

<code>var number = 123.46;
number.ToString(number % 1 == 0 ? "0" : "0.00");</code>

Cette méthode vérifie si le reste du prix divisé par 1 est nul, c'est-à-dire un nombre entier. Si tel est le cas, formatez le nombre sous forme d'entier ("0"), sinon, formatez-le avec deux décimales ("0,00").

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn