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.