Go Down

Topic: Newbie Question (1 of lol) (Strings/Floats) (Read 485 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