Problem displaying signed floats
Posted: Sat Dec 13, 2014 9:30 am
Hello folks
Until this month, my outdoor DHT22 temperature/humidity monitor has been working fine. However, with the cold weather, and temperatures now sub-zero, I've noticed that my routine is failing to handle negative temperatures - instead they are represented as being positive: the sign has been lost.
I've adjusted my re.search routine to include negative numbers where previously they were excluded,
When I a string is produced containing the negative temperature.
However, when I it displays as a positive number.
I need to be able to carry the sign into the variable, as temperatures could be either positive or negative (even in a UK winter).
Can anyone help?
Until this month, my outdoor DHT22 temperature/humidity monitor has been working fine. However, with the cold weather, and temperatures now sub-zero, I've noticed that my routine is failing to handle negative temperatures - instead they are represented as being positive: the sign has been lost.
I've adjusted my re.search routine to include negative numbers where previously they were excluded,
Code: Select all
# Continuously append data
while(True):
# Run the DHT program to get the humidity and temperature readings!
# DHT22 (Credit to Adafruit)
output = subprocess.check_output(["/home/pi/scripts/DHT/Adafruit_DHT", "22", "25"]);
rasp = subprocess.check_output(["vcgencmd", "measure_temp"])
print output
matches = re.search("Temp =\s+-([0-9.]+)", output)
if (not matches):
time.sleep(3)
continue
tempa = float(matches.group(1))
print tempa
# search for humidity printout
matches = re.search("Hum =\s+([0-9.]+)", output)
if (not matches):
time.sleep(3)
continue
humiditya = float(matches.group(1))
Code: Select all
print output
However, when I
Code: Select all
print tempa
I need to be able to carry the sign into the variable, as temperatures could be either positive or negative (even in a UK winter).
Can anyone help?