Jump to content
sr.downiló

Problema na comparação de um float por um inteiro

Recommended Posts

sr.downiló

Boas...

Estou com um problema.

Tenho um pedaço de código que não funciona, penso que seja por um Problema na comparação de um inteiro por um float.

O caso é o seguinte

...
printf("%f\n",x);   //do qual sai o valor 0,000000
if (x>0)
      printf(...);
else
      printf(...);
return 0;
}

Espero que possam ajudar pk eu já ando como o boneco  :wallbash:

Share this post


Link to post
Share on other sites
IceBrain

Comparar inteiros com floats directamente não é possível, terás que converter o inteiro em float (ou vice-versa, mas aí perdes precisão).

Se for para comparar uma variável float com um valor fixo, podes declarar esse valor como float usando um ponto:

...
printf("%f\n",x);   //do qual sai o valor 0,000000
if (x>0.0)
      printf(...);
else
      printf(...);
return 0;
}

0 é um inteiro, mas 0.0 é um float.


❝The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.❞- John Carmack on software patents

A list  of command line apps

Share this post


Link to post
Share on other sites
IceBrain

Qual é o problema? Não compila? Dá um resultado errado?


❝The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.❞- John Carmack on software patents

A list  of command line apps

Share this post


Link to post
Share on other sites
sr.downiló

dava o resultado errado. mas já dei a volta ao problema comparando com um número decimal pequeno que não afecta o programa e assim já funciona como eu pretendo.

Obrigado a todos

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.