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
Libérer: 2025-01-16 13:21:03
original
965 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal