Go Down

Topic: probleme de précision de valeur  (Read 305 times) previous topic - next topic

SPY

Bjr, je veux avoir une variable à virgules à 8 chiffres car c'est pr des longitude et latitude et je veux les mutiplier pr avoir en chiffre sans virgule que je diviserai après l'envoi sur rasp.
Voilà mon programme:

double longitude=150.236265;
void setup() {
 Serial.begin(9600);
}


void loop() {
long longitude1=longitude*1000000;
Serial.println(longitude);
Serial.println(longitude1);
delay(1000);
}

et je recupere:
150.24
150236272

la premiere je m'en fout mais la deuxieme au lieu d'avoir un 65 j'ai un 72 j'ai tout essayer rien. et j'ai absolument besoin de cette precision.

fdufnews


_pepe_

#2
Nov 14, 2017, 02:05 pm Last Edit: Aug 19, 2018, 04:12 am by _pepe_
Supprimé

ChPr

Vous extrayez certainement ces valeurs d'une chaîne de caractères issue de phrases NMEA.

Profitez-en pour séparer les degrés et la partie fractionnaire.

Chacune de ces deux valeurs entrera (limite pour la partie fractionnaire) dans la précision d'un float.

Maintenant, il faut être conscient que le dernier chiffre (10-6 °) correspond à 10 cm !

Cordialement.

Pierre
Pourquoi faire simple alors qu'il est si facile de faire compliqué !

fdufnews

Bjr, je veux avoir une variable à virgules à 8 chiffres car c'est pr des longitude et latitude et je veux les mutiplier pr avoir en chiffre sans virgule que je diviserai après l'envoi sur rasp.
Et pourquoi ne pas envoyer tel quel au Raspi qui lui saura manipuler des "vrais" doubles contrairement à l'Arduino

Go Up