Go Down

Topic: Newbie Question (1 of lol) (Strings/Floats) (Read 569 times) previous topic - next topic


  pressure = pressure - 10696; //adjust for sea level

    client.print("The Temperature Is ");
      client.print("The Barometer Reading: ");

The output looks something like this. "The Temperature Is 239 The Barometer Reading: 10334"

Now my issue, it's not 239 degrees in here nor is the pressure reading 10334, infact.. it's 23.9c and the pressure is 1033.4. How exactly do i get a . into the string? (simply insert a . and send it as a string) ..

Thanks :)

(p.s Really enjoying Arduino, just that my background is in Pascal not C and it's a little difficult to adjust)


char c;
  int temperature;
  long pressure;

Incase you were wondering.


Mar 16, 2012, 04:26 pm Last Edit: Mar 16, 2012, 04:29 pm by scrineym Reason: 1
You could try to include Stdio.h into your code "#include <stdio.h>" in here is a function called sprintf and also printf (stands for print formatted) which can be used to print strings in a specified format

See here: http://www.c-for-dummies.com/lessons/float2string/
In here there's a tutorial for working with sprintf where he has a float which is pi, he divides this by 2 and can print it out as a string with the '.'

Code: [Select]
#include <stdio.h>

int main()
  float pi = 3.141596;
  char halfpie[80];

  sprintf(halfpie, "%f", pi);
   printf("Here is the result: %s\n", halfpie);
  return 0;

This returns
Here is the result: 1.570798

Here's a link for working with sprintf

Also here's the arduino's own page on working with printf and sprintf

Finally here's a better guide on the parameters ("%s" etc..) for these two functions

http://www.cplusplus.com/reference/clibrary/cstdio/printf/ for printf
http://www.cplusplus.com/reference/clibrary/cstdio/sprintf/ for sprintf

Hopes this helps :P

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131