Partage

[JAVA] la fonction sqrt

Sujet résolu
Le 4 janvier 2006 à 19:00:30

Bonjour à tous
je voudrais connaitre la racine carré d'un nombre , pour cela il me faut la foncion sqrt
Mais ou est elle ?
faut 'il faire un import ??
Publicité
Le 4 janvier 2006 à 19:00:30
Le 5 janvier 2006 à 0:52:15

java.lang.math.sqrt(int chiffre)

Vive la doc !!!
Le 5 janvier 2006 à 13:08:40

merci mais quand je l'utilise il me mette

Citation : erreur

--------------------Configuration: <Default>--------------------
C:\Documents and Settings\julestruong\Bureau\Programmes\test JAVA\Workspace JAVA\pythagore.java:19: possible loss of precision
found : double
required: int
hypo = Math.sqrt(carre);
^
1 error

Process completed.


apparemment c'est un probleme de taille lol , mais je ne trouve aps la reponse
Le 5 janvier 2006 à 13:32:40

pas tres compliqué quand meme, il suffit de lire : il faut normalement entrer un entier dans cette fonction, et toi tu entres un double, donc il y a la possibilité de perdre de la precision, donc, par exemple, tu va pas recevoir le carré de 3,2, mais celui de 3.
Ca peut etre ennuyeux.

En tout cas c'est ce que veut dire betement la reponse que tu recoies
Le 5 janvier 2006 à 13:45:53

desolé de te decevoir mais c'est pas ca , mais j'ai tout de meme trouvé la reponse
Le 5 janvier 2006 à 13:48:19

En bref, tu dois savoir que la fonction sqrt de la classe Math travaille en recevant en paramètre un int et donc tu es obligé de lui envoyer un int en paramètre et non pas un double.
Rien ne t'empêche de caster ton double en int
Le 5 janvier 2006 à 17:39:44

Citation : NarTy

desolé de te decevoir mais c'est pas ca , mais j'ai tout de meme trouvé la reponse



Ah bon, j'aurais pourtant dit la même chose... Tu peux nous dire ce qui n'allait pas stp, je serais curieux de le savoir, parceque là o_O


Citation : Synapse

Rien ne t'empêche de caster ton double en int



ça rique de donner la même erreur non ? (tu perds des données de la même façon)
(j'ai jamais essayé de caster un double en int)
Le 5 janvier 2006 à 18:12:00

oui je vous explique , en fait ce qui n'allait pas c'est la valeur de retour de la fontion sqrt(); pas le parametre
Le 5 janvier 2006 à 19:06:34

Citation : NarTy

oui je vous explique , en fait ce qui n'allait pas c'est la valeur de retour de la fontion sqrt(); pas le parametre


C'était la déclaration de hypo, c'est ça ?
Le 5 janvier 2006 à 21:22:15

ok autant pour moi, elle recoit un double en argument et renvoie un double...en meme temps ca parait logique, dsl :)
Le 6 janvier 2006 à 12:08:07

Citation : Synapse

Citation : NarTy

oui je vous explique , en fait ce qui n'allait pas c'est la valeur de retour de la fontion sqrt(); pas le parametre


C'était la déclaration de hypo, c'est ça ?

oui excactement
Le 6 janvier 2006 à 16:40:11

Citation : Javier


ça rique de donner la même erreur non ? (tu perds des données de la même façon)
(j'ai jamais essayé de caster un double en int)


Bah non , si le double vaut par exemple 9,2 quand tu le convertis en int il devient 9 , mais si tu veux que 9,2 soit egale a 10 , tu utilise la fonction round() et tu convertis en int apres.
Le 6 janvier 2006 à 17:05:38

Citation : Mystikal Snake

mais si tu veux que 9,2 soit egale a 10 , tu utilise la fonction round() et tu convertis en int apres.

Faut pas plutôt utiliser la fonction ceil() dans ce cas ?
Le 6 janvier 2006 à 18:03:44

je sai pas c'est peut etre un alias de round() , mais en tout cas round ca marche :D .

[JAVA] la fonction sqrt

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
  • Editeur
  • Markdown