Maison >développement back-end >C++ >Comment formater un double C# en chaîne avec deux décimales et sans arrondi ?

Comment formater un double C# en chaîne avec deux décimales et sans arrondi ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-01 13:45:09221parcourir

How to Format a C# Double to a String with Two Decimal Places and No Rounding?

Formatage C# Double - ToString() avec deux décimales et sans arrondi

Problème :

Comment pouvez-vous formater un double à une chaîne en C# avec seulement deux décimales, sans arrondi ? De plus, la conversion doit être sensible à la culture.

Solution :

Pour y parvenir, suivez les étapes suivantes :

  1. Tronquer :

    • Utilisez Math.Truncate pour éliminer les décimales au-delà de la précision souhaitée.
    • Multipliez la valeur par 100 pour décaler la virgule, puis tronquez le résultat, et enfin divisez par 100 pour restaurer l'échelle d'origine.
  2. Format :

    • Utilisez string.Format pour convertir la valeur tronquée en chaîne.
    • Spécifiez la chaîne de format "{0:N2}" pour afficher la valeur avec deux décimales et utilisez le format numérique par défaut basé sur la culture actuelle.

Exemple :

Considérez le nombre 50.947563 :

double x = Math.Truncate(50.947563 * 100) / 100;
// x now contains 50.94

string s = string.Format("{0:N2}%", x);
// s now contains "50.94%" without rounding

En suivant ces étapes, vous pouvez formater un double avec deux décimales sans arrondi, tout en conservant une mise en forme adaptée à la culture.

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