Maison > développement back-end > C++ > Comment le formatage des chaînes peut-il contrôler la précision décimale dans les affichages de prix ?

Comment le formatage des chaînes peut-il contrôler la précision décimale dans les affichages de prix ?

Patricia Arquette
Libérer: 2025-01-16 13:07:58
original
434 Les gens l'ont consulté

How Can String Formatting Control Decimal Precision in Price Displays?

Formatage précis des prix avec formatage de chaîne

Les programmeurs ont fréquemment besoin d'afficher des données numériques, en particulier les prix, avec un formatage spécifique, comme un nombre contrôlé de décimales. Le formatage de chaîne offre une solution flexible utilisant des espaces réservés.

Considérez ces exigences courantes en matière d'affichage des prix :

  • Nombres entiers : Les prix sans parties décimales (par exemple, 100) doivent apparaître sous forme d'entiers (100).
  • Valeurs décimales : Les prix comportant des parties décimales (par exemple, 100,99) doivent afficher jusqu'à deux décimales (100,99).

Les approches simples de formatage de chaîne peuvent ne pas gérer parfaitement les deux cas. Cependant, nous pouvons atteindre cette précision grâce à une sélection minutieuse des espaces réservés et à une logique conditionnelle.

Pour les nombres entiers, la chaîne de format "{0:0.##}" fonctionne efficacement. "0" représente un chiffre entier obligatoire, tandis que "#" représente un chiffre décimal facultatif. Cela garantit que les valeurs sans décimales sont affichées sous forme de nombres entiers.

Pour les nombres avec décimales, la mise en forme conditionnelle fournit une solution dynamique. En C#, nous pouvons utiliser l'opérateur ternaire pour choisir la chaîne de format appropriée selon que le nombre comporte ou non une partie fractionnaire. Si c'est le cas, "{0:0.00}" (deux décimales) est utilisé ; sinon, "{0:0}" (format entier) est appliqué.

Alternativement, une méthode concise vérifie directement la présence d'une partie fractionnaire :

<code class="language-csharp">double price = 123.46;
string priceString = price % 1 == 0 ? price.ToString("0") : price.ToString("0.00");</code>
Copier après la connexion

Ce code utilise l'opérateur modulo (%) pour vérifier si le prix est un nombre entier. Si le reste après la division par 1 est 0, il s'agit d'un entier formaté comme « 0 » ; sinon, il est formaté avec deux décimales en utilisant « 0,00 ». Cela fournit un moyen propre et efficace de gérer les deux scénarios.

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