Tronquer les décimales sans arrondir en C#
La troncature des valeurs numériques aux décimales spécifiées est cruciale dans divers scénarios de programmation. Considérons une situation dans laquelle nous devons tronquer la valeur de 3,4679 à 3,46 sans l'arrondir.
Une approche courante consiste à utiliser la fonction Math.Round()
avec un mode d'arrondi spécifique. Cependant, comme le montre le code fourni, l'utilisation de MidpointRounding.ToEven
ou MidpointRounding.AwayFromZero
donne 3,47 en raison de l'arrondi.
Une manière plus précise consiste à utiliser des opérations mathématiques pour tronquer la valeur :
<code class="language-csharp">value = Math.Truncate(100 * value) / 100;</code>
Cette méthode tronque la valeur en la multipliant par 100, puis en utilisant Math.Truncate()
pour supprimer les décimales, et enfin en divisant par 100 pour restaurer les proportions d'origine. Il supprime efficacement les décimales sans arrondir.
Remarque :
Veuillez noter que des fractions comme 3,4679 ne peuvent pas être représentées exactement en notation à virgule flottante, ce qui peut entraîner des résultats légèrement différents. Pour une représentation de haute précision, envisagez d'utiliser des types décimaux au lieu de nombres à virgule flottante.
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!