Maison > développement back-end > C++ > Pourquoi la division Integer renvoie-t-elle zéro et comment puis-je le réparer?

Pourquoi la division Integer renvoie-t-elle zéro et comment puis-je le réparer?

Susan Sarandon
Libérer: 2025-01-29 11:26:09
original
797 Les gens l'ont consulté

Why Does Integer Division Return Zero, and How Can I Fix It?

Résolution du problème de division zéro dans les mathématiques entières

L'expression 18 / 58 évalue à zéro parce que la division entier standard tronque tout composant fractionnaire. Pour obtenir le résultat décimal correct, vous devez effectuer le calcul à l'aide de nombres à virgule flottante. Voici le code corrigé:

decimal share = (18m / 58m) * 100m;
Copier après la connexion

Le suffixe m jette explicitement les littéraux entiers aux décimales. Cela garantit que l'opération de division maintient la partie fractionnaire, donnant le pourcentage précis: 18/58 * 100 ≈ 31.0344827586207.

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 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