[java] transformation implicite de type

transformation implicite de type [java] - Java - Programmation

Marsh Posté le 28-10-2003 à 19:07:08    

Comment faire sous java une conversion implicite de type ?
Je m'explique je souaite faire une operation entre un double et un int qui me donne un double mais le compilateur me dit que je perd des données, comment convertir implicitement l'int en double ?
 
ex:
double a=23;
int b=12;
double c=a+b;
 
Merci de votre aide :hello:

Reply

Marsh Posté le 28-10-2003 à 19:07:08   

Reply

Marsh Posté le 28-10-2003 à 19:11:56    

un cast

Code :
  1. double a=23;
  2. int b=12;
  3. double c= ((int) a) + b;


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 28-10-2003 à 19:16:12    

Merci :)

Reply

Marsh Posté le 28-10-2003 à 19:18:19    

http://java.sun.com/docs/books/jls [...] tml#170983
sur ton exemple, tu ne perds pas de précision.
vu qu'un double utilise 53 bits pour la mantisse :
http://java.sun.com/docs/books/jls [...] .html#9208
Ton problème est ailleur (probablement après le calcul).

Reply

Marsh Posté le 28-10-2003 à 19:28:23    

Finalement vu qu'un des double etait l'égal de l'autre j'ai fait un
double a+=b
 
b etant un int, ça marche, plus d'insultes du compilateur :jap:

Reply

Marsh Posté le 29-10-2003 à 12:05:31    

Entre nous, si le compilateur te met un warning, c'est que tu lui imposes de faire une conversion implicite et qu'il n'est pas sûr que celle qu'il choisit soit celle que tu souhaites.
 
Donc la meilleure manière d'éviter les messages du compilateur sur des conversions implicites, c'est rendre ces conversions... explicites. Ce n'est pas plus coûteux que les conversions implicites, et ça évite que des bugs sournois s'y cachent...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed