Maison > développement back-end > C++ > Comment tronquer, et non arrondir, doubler des valeurs à un nombre spécifique de décimales en C# ?

Comment tronquer, et non arrondir, doubler des valeurs à un nombre spécifique de décimales en C# ?

Mary-Kate Olsen
Libérer: 2024-12-27 12:15:11
original
1018 Les gens l'ont consulté

How to Truncate, Not Round, Double Values to a Specific Number of Decimal Places in C#?

Tronquage de valeurs doubles sans arrondi en C#

Lors de la conversion d'un nombre à virgule flottante double précision en chaîne en C#, vous pouvez rencontrer la nécessité de le formater avec un nombre spécifique de décimales. Cependant, l'utilisation de String.Format("{0:0.00}") peut entraîner un arrondi, ce qui n'est pas souhaitable dans certains scénarios dans lesquels vous souhaitez une troncature exacte.

Pour résoudre ce problème, utilisez une combinaison de Math.Truncate () et NumberFormatInfo.CurrentInfo pour obtenir une troncature sans arrondi et maintenir une culture sensible formatage.

Solution :

  1. Tronquer la valeur double à l'aide de Math.Truncate() :
double myDoubleValue = 50.947563;
double x = Math.Truncate(myDoubleValue * 100) / 100;
Copier après la connexion

Cette opération multiplie la valeur par 100, la tronque pour supprimer les décimales, puis la divise par 100 pour restaurer l'original scale.

  1. Formater la valeur tronquée à l'aide de NumberFormatInfo.CurrentInfo :
string s = x.ToString("N2", NumberFormatInfo.CurrentInfo);
Copier après la connexion

Ce spécificateur de format utilise la chaîne de format "N", qui inclut le formatage monétaire avec une fin signe de pourcentage. NumberFormatInfo.CurrentInfo garantit que le formatage suit les paramètres de culture actuels.

Résultat :

En utilisant la méthode ci-dessus, vous obtiendrez une représentation sous forme de chaîne de la valeur double avec exactement deux décimales sans aucun arrondi. Par exemple, la valeur 50,947563 sera tronquée à 50,94 sans arrondir à 50,95.

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