Maison >développement back-end >C++ >Comment puis-je tronquer avec précision les décimales sans arrondir en C# ?
Tronquer exactement le nombre de décimales sans arrondir en C#
Lors du traitement de données numériques, il est souvent nécessaire de tronquer le nombre de décimales. La troncature signifie supprimer le point décimal et les chiffres suivants sans arrondir, ce qui peut être délicat.
Par exemple, pour la valeur 3,4679, il pourra être nécessaire de la tronquer à 3,46 sans introduire d'erreur d'arrondi. Plusieurs tentatives utilisant la méthode Math.Round()
et différents modes d'arrondi ont toutes abouti à 3,47, ce qui est inacceptable.
Une méthode plus précise implique une opération mathématique simple :
<code class="language-csharp">value = Math.Truncate(100 * value) / 100;</code>
Ce calcul utilise la fonction Math.Truncate()
pour supprimer toutes les décimales d'une valeur, en l'arrondissant à l'entier le plus proche. Avant de multiplier par 100, nous déplaçons la virgule décimale de deux places vers la droite. Diviser la valeur tronquée par 100 la ramène à ses proportions d'origine, préservant le résultat tronqué sans aucun biais d'arrondi.
Cependant, il est important de noter que des fractions comme 0,1 ne peuvent pas être représentées exactement dans le système à virgule flottante utilisé dans les langages de programmation. La troncature peut donc entraîner de légers écarts par rapport aux résultats attendus.
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!