J'essaye de multiplier une double valeur par -1 pour obtenir la valeur négative. Il continue à me donner une valeur positivePourquoi multiplier un double par -1 ne donne pas le négatif de la réponse actuelle
EDIT: Je mets tout le code.
DecToTime public class {
public static void main(String[] args) throws IOException {
DecToTime dtt = new DecToTime();
double val = dtt.getNumber("13.930000000000E+02");
System.out.println(val);
}
public double getNumber(String number) throws IOException{
StringReader reader = new StringReader(number);
int c;
String mantissa="";
String sign="";
String exponent="";
boolean isMantissa=true;
while((c = reader.read()) != -1) {
char character = (char) c;
if(character=='E'){
isMantissa=false;
}
if(isMantissa==true){
mantissa=mantissa+character;
}
if(isMantissa==false){
if((character=='+')|| (character=='-')){
if(character=='+') {
sign = "plus";
}
if(character=='-') {
sign = "minus";
}
}
if(!(sign.equals(""))){
exponent=exponent+character;
}
}
}
System.out.println(mantissa+" - "+sign+" - "+exponent);
double man = Double.parseDouble(mantissa);
double exp;
if(sign.equals("plus")){
exp = Double.parseDouble(exponent);
}
else {
exp = Double.parseDouble(exponent);
System.out.println("Exp: "+exponent);
}
System.out.println(man+" - "+sign+" - "+exp);
double value = man*Math.pow(10, exp);
return value;
}
}
Le résultat imprimé est
13,93 - moins - 2,0
qui est correct sauf que 2.0 devrait être - 2,0
L'autre code fonctionne très bien, donc je ne l'ai pas inclus car il ne serait pas nécessaire. – Ankur
Êtes-vous sûr que "else" est déjà touché? –
Qu'est-ce que System.out.println ("|" + exponent + "|"); montrer? –