Go Down

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

cjdelphi

  bmp085_read_temperature_and_pressure(&temperature,&pressure);
  pressure = pressure - 10696; //adjust for sea level

    client.print("The Temperature Is ");
      client.print(temperature,DEC);
      client.println();
      client.print("The Barometer Reading: ");
      client.print(pressure,DEC);
      client.println();


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)


cjdelphi

char c;
  int temperature;
  long pressure;

Incase you were wondering.

scrineym

#2
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];
  pi/=2;

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


This returns
Quote
Here is the result: 1.570798


Here's a link for working with sprintf
http://linux.die.net/man/3/sprintf

Also here's the arduino's own page on working with printf and sprintf
http://arduino.cc/playground/Main/Printf

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!

Arduino
via Egeo 16
Torino, 10131
Italy