Maison > développement back-end > C++ > Comment puis-je arrondir une entrée continue à la demi-valeur la plus proche en programmation ?

Comment puis-je arrondir une entrée continue à la demi-valeur la plus proche en programmation ?

DDD
Libérer: 2025-01-06 02:28:41
original
819 Les gens l'ont consulté

How Can I Round a Continuous Input to the Nearest Half-Value in Programming?

Rapprocher les intervalles rationnels avec les demi-valeurs les plus proches

Déterminer la valeur arrondie appropriée pour représenter une entrée continue, telle qu'une note, peut être une tâche courante en programmation. À des fins d'affichage, il peut être souhaitable d'incrémenter les valeurs selon des intervalles spécifiques, comme des demi-valeurs (par exemple, 1, 1,5, 2).

Arrondi à la demi-valeur la plus proche

Pour obtenir ce comportement d'arrondi, les étapes suivantes peuvent être utilisées :

  1. Multipliez la valeur d'entrée par 2, doublant ainsi l'intervalle d'incrémentation.
  2. Utilisez Math.Round avec le paramètre MidpointRounding.AwayFromZero, qui arrondit les valeurs à partir de zéro, garantissant que les valeurs fractionnaires sont toujours arrondies.
  3. Divisez les valeurs arrondies. valeur par 2 pour revenir à l'incrément d'origine échelle.

Exemple :

double rating = 1.3;
double roundedRating = Math.Round(rating * 2, MidpointRounding.AwayFromZero) / 2;
Copier après la connexion

Ce calcul donnerait une note arrondie de 1,5, répondant au comportement d'arrondi souhaité décrit dans le tableau d'exemple.

Autres considérations

Il est important de s'assurer que la valeur d'entrée se situe dans la plage d'incrémentation souhaitée. pour un comportement optimal. De plus, pour les valeurs exactement à mi-chemin entre deux points d’incrémentation, le paramètre MidpointRounding.AwayFromZero arrondira toujours au chiffre supérieur. Cette approche fournit un comportement d'arrondi cohérent, même pour les cas limites.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal