Maison >développement back-end >C++ >Pourquoi la division Integer renvoie-t-elle zéro et comment puis-je le réparer?
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!