Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Conversione da Stringa a float
Forum - C/C++ - Conversione da Stringa a float

Avatar
gismo (Normal User)
Rookie


Messaggi: 43
Iscritto: 07/01/2007

Segnala al moderatore
Postato alle 17:41
Martedì, 09/01/2007
Salve..
qualcuno di voi conosce una funzione che converta una variabile da stringa (char) a numero in virgola mobile (float)..??:-|

grazie mille

PM Quote
Avatar
Black Shadow (Founder Member)
Expert


Messaggi: 323
Iscritto: 30/03/2006

Segnala al moderatore
Postato alle 12:43
Mercoledì, 10/01/2007
Puoi utilizzare la funzione atof(const char*) presente nella libreria stdlib.h.

Un esempio:

Codice sorgente - presumibilmente C++

  1. #include<iostream>
  2. #include<stdlib.h>
  3. using namespace std;
  4.  
  5. int main() {
  6.     char *stringa = "0.3";
  7.     float number = atof(stringa);
  8.     cout << "Stringa: "<< stringa << "\n\n" << "Numero: " << number << "\n\n";
  9.     return 0;
  10. }



;)

PM Quote
Avatar
free89am (Ex-Member)
Newbie


Messaggi: 13
Iscritto: 23/01/2007

Segnala al moderatore
Postato alle 17:18
Martedì, 23/01/2007
Cmq se non riesci a usare atof,o se vuoi comprendere meglio il meccanismo di conversione da Char a float,basta fare cosi:

Codice sorgente - presumibilmente C++

  1. int main()
  2. {
  3. char *stringa = "0.3";
  4. float number = float(stringa)-48;
  5. cout << "Stringa: "<< stringa << "\n\n" << "Numero: " << number << "\n\n";
  6. return 0;
  7. }


però non mi ricordo se funziona solo x i caratteri alfabetici.cmq poi comprendere di più guardando il codice ascii.

PM Quote
Avatar
nikipe_silver (Founder Member)
Expert


Messaggi: 339
Iscritto: 20/09/2005

Segnala al moderatore
Postato alle 19:57
Martedì, 23/01/2007
funziona solo con i caratteri singoli, perche' partono dal 48 nel codice ASCII(48=0,49=1,...)

PM Quote
Avatar
free89am (Ex-Member)
Newbie


Messaggi: 13
Iscritto: 23/01/2007

Segnala al moderatore
Postato alle 20:30
Martedì, 23/01/2007
esatto!!!!!:k:
:asd:

PM Quote