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
Susan Sarandonoriginal
2025-01-29 11:26:09796parcourir

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

<code class="language-csharp">decimal share = (18m / 58m) * 100m;</code>

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