Pages: 1 [2]   Go Down
Author Topic: [Résolu !] Problème de pointeurs  (Read 1661 times)
0 Members and 1 Guest are viewing this topic.
Lormaison
Offline Offline
Newbie
*
Karma: 0
Posts: 48
Omnes vulnerant, ultima necat !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Benh... ce n'est pas grâce à vous lol... c'est sur un autre site que j'ai eu la réponse... elle y est et en plusieurs exemplaires. Je ne regrette pas d'avoir commencé ma recherche sur ce site malgré tout... juste vous.  smiley
Logged

Quidquid agis, prudenter agas, et respice finem !

France
Offline Offline
Faraday Member
**
Karma: 36
Posts: 3421
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Un code possible

Code:
// Un tableau à deux dimensions
char Liste[10][20];

// Une Fonction sensée convertir le paramètre en Flottant (float)  :
//      le paramètre est de la forme "ABC123.456"
//      La sortie doit être le float 123.456
float Str2F (char* chaine )
{
      float f;      char c[20];
      strcpy(c,chaine+3);
      f = atof ( c );
      return f;
}


void Appelant()
{
  strcpy(Liste [1],"AZE123.45678");
  float NombreFlottant = Str2F ( Liste[1] );
  Serial.print(NombreFlottant);
}


void setup(void){
  Serial.begin(9600);
  Appelant();
}


void loop(void){
}
Logged

Lormaison
Offline Offline
Newbie
*
Karma: 0
Posts: 48
Omnes vulnerant, ultima necat !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci pour cette correction fdudnews.

Résultat magnifique de simplicté...

Si je peux abuser smiley   Pourquoi n'y a t-il toujours que deux décimales ?
Logged

Quidquid agis, prudenter agas, et respice finem !

Offline Offline
Sr. Member
****
Karma: 0
Posts: 332
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

C'est bien ce que je disais... un assisté.
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

C'est le comportement par défaut de la classe Print sur laquelle est basée Serial.
    size_t println(double, int = 2);
    size_t print(double, int = 2);

Il faut passer comme 2eme paramètre le nombre de décimales.

Autre solution utiliser sprintf() qui s'applique a des chaînes de caractères (c'est à dire en C, à des tableaux de caractères utilisant le caractère nul '\0' pour marquer la fin). http://www.nongnu.org/avr-libc/user-manual/group__avr__stdio.html#ga6017094d9fd800fa02600d35399f2a2a


Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Lormaison
Offline Offline
Newbie
*
Karma: 0
Posts: 48
Omnes vulnerant, ultima necat !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

He bien... génial!! un grand merci pour ces réponses ...constructives... et rapides. Le rôle des hôpitaux n'étant par de se moquer de la charité.
Heu... au passage,... ne tirez par sur le canard bleu, c'est un faux... canard   ...un Appelant() quoi !     smiley
« Last Edit: November 03, 2012, 05:04:39 pm by LibertyCareche » Logged

Quidquid agis, prudenter agas, et respice finem !

Pages: 1 [2]   Go Up
Jump to: