Maison >développement back-end >C++ >Comment puis-je arrondir des nombres à virgule flottante au demi-incrément le plus proche ?

Comment puis-je arrondir des nombres à virgule flottante au demi-incrément le plus proche ?

DDD
DDDoriginal
2025-01-06 03:44:40762parcourir

How Can I Round Floating-Point Numbers to the Nearest Half-Increment?

Arrondir les valeurs à virgule flottante à l'incrément d'un demi-point le plus proche

Lors de l'affichage des notes, des incréments précis sont souvent préférés pour maintenir la clarté et la compréhensibilité . Dans ce scénario particulier, les valeurs d'entrée sont arrondies à l'incrément de 0,5 le plus proche, selon un modèle spécifique.

Pour y parvenir, une opération mathématique simple peut être appliquée :

  1. Multipliez la note saisie par 2. Cela décale effectivement la virgule décimale d'une place vers la droite.
  2. Arrondissez la valeur multipliée à l'aide de la fonction Math.Round() avec MidpointRounding.AwayFromZero. Cela arrondit la valeur à l'entier le plus proche, garantissant que la valeur résultante est plus proche de la note d'entrée réelle.
  3. Diviser la valeur arrondie par 2. Cela rétablit le point décimal à sa position d'origine, fournissant une valeur arrondie au 0,5 le plus proche incrément.

Vous trouverez ci-dessous la formule pour effectuer cette opération dans le code :

Math.Round(rating * 2, MidpointRounding.AwayFromZero) / 2

Cette méthode permet un arrondi efficace et précis des notes d'entrée, prenant en charge le format d'affichage souhaité avec des incréments de 0,5.

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