Conversion char en float

Bonjour à tous,

Je tiens tout d'abord à préciser que je suis débutant sur Arduino. J'ai besoin de récupérer des valeurs d'une fonction char pour venir leurs faire des opérations. Je n'arrive pas tel quel alors j'imagine qu'il faut les convertir avant. Toute aide sera précieuse. Merci d'avance !

More details would help.

J'ai besoin de réaliser des opérations sur les valeurs contenu dans szMsg.
void setup()
{
Serial.begin(9600);
dmmShieldObj.begin(&Serial);
Serial.println("DMMShield Library Basic Commands demo");
bErrCode = dmmShieldObj.SetScale(5);
if(bErrCode == 0)
{
Serial.println("Resistance500");
}
}
void loop()
{
char szMsg[20];
while(1)
{
delay(1000);
bErrCode = dmmShieldObj.GetFormattedValue(szMsg);
if(bErrCode == 0)
{
Serial.print("Value = ");
Serial.println(szMsg);

}
}
}

What is the content of szMsg that you print? What do you want to extract from it?

J'utilise ce programme avec des bibliothèque qui permets de donner une résistance mesurée, par exemple : 300,0266 ohm. Je voudrais récupérer la valeur 300,0266 et faire des opérations avec comme par exemple : 300,0266* 45

What exactly is the text in szMsg that tells you 300,0266 Ohms?

i have this

Mon français n'est pas très bon ces jours-ci.
Google Traduction:
Vous pouvez utiliser la fonction atof. Sur les Arduinos de base, vous n'obtiendrez que six chiffres de précision dans un flotteur, vos lectures ne seront donc pas exactes.

je n'ai besoin que de 3 chiffres après la virgule. J'aimerais pouvoir utiliser cette valeur pour faire des opérations avec.

Google Traduction:
Ensuite, vous pouvez utiliser la fonction atof q.v. Sachez qu'il s'agit de six chiffres au total, pas de six décimales.

atof

okk thanks but i don't know how to make this

float num=atof(szMsg)*45.0;


There is a problem :confused:

My bad that's working !!!

Thanks you very much

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.