J'ai du flotteur, comme: 7.66, 4.26 897.18 ...
Je veux les arrondir jusqu'au entier supérieur: p> Comment dois-je Faites ça? P> Merci! P> P>
3 Réponses :
Vous pouvez utiliser le CEIL code>
fonction de la fonction de math.h code> p>
Merci. Mais j'ai besoin que le flotteur soit arrondi allumé. Même 2.00007 est devenu 3.
Utilisez et p> jettent le résultat à un type intégré si nécessaire, prenant des mesures pour vous assurer de ne pas trop déborder que Type (qui est une raison pour laquelle les types de retour de ceil code> ou
CEILF code> dans
math.h code>. Les signatures sont
CEIL code> et
CEILF code> sont identiques au type d'entrée). P> p>
Merci. Mais j'ai besoin que le flotteur soit arrondi allumé. Même 2.00007 est devenu 3.
@ Hormir: C'est ce qui se passe. N'as-tu pas essayé?
Vous pouvez simplement faire ce qui suit:
#include <stdio.h> #include <math.h> int main() { double num = 6.87; int result; result = ceil(num); printf("Ceiling integer of %.2f = %d", num, result); return 0; }
Soyez prudent avec cette conversion sur int code> comme c'est vulnérable au débordement.
@Bathsheba Vous avez complètement raison, cet extrait est seulement de lui montrer la méthode; Les gardes et le chèque sont essentiels toujours i>
@Stevesummit en effet sa option également valable, n'était pas mon aller à répondre, mais cela fonctionnera; Je pense que votre type de réponse pourrait confondre le programmeur nouveau à c
@Davids Désolé, voulait commenter la question initiale, pas votre réponse.
Merci. Mais j'ai besoin que le flotteur soit arrondi allumé. Même 2.00007 est devenu 3.
@Tor c'est exactement ce que ceil () i> fait, il arrondit au plus proche du sommet du haut
Si, pour une raison quelconque, vous ne voulez pas utiliser
ceil code>, vous pouvez essayer d'ajouter 1, puis tronquer à
int code>, mais vous devez avoir un cas spécial pour détecter le cas où votre numéro d'origine n'avait pas de partie fractionnaire.