Temps rounded to whole numbers?
-
Trying to get the DS18B20 to round to a whole number no decimal point. I'm using this and getting the temps down to .1 decimal point.
// Fetch and round temperature to one decimal float temperature = static_cast<float>(static_cast<int>((gw.getConfig().isMetric ? sensors.getTempCByIndex(i) : sensors.getTempFByIndex(i)) * 10.)) / 10.;What do I do next to get a whole number only, I don't like all the minor changes flooding my controller.
complete node code is below.
-
Trying to get the DS18B20 to round to a whole number no decimal point. I'm using this and getting the temps down to .1 decimal point.
// Fetch and round temperature to one decimal float temperature = static_cast<float>(static_cast<int>((gw.getConfig().isMetric ? sensors.getTempCByIndex(i) : sensors.getTempFByIndex(i)) * 10.)) / 10.;What do I do next to get a whole number only, I don't like all the minor changes flooding my controller.
complete node code is below.
@DrJeff said:
float temperature = static_cast<float>(static_cast<int>((gw.getConfig().isMetric ? sensors.getTempCByIndex(i) : sensors.getTempFByIndex(i)) * 10.)) / 10.;
Either store the temperature in an int (and round to nearest integer by adding 0.5 to the temperature):
int temperature = static_cast<int>(0.5+(gw.getConfig().isMetric ? sensors.getTempCByIndex(i) : sensors.getTempFByIndex(i)));Or keep it in a float, rounded to the nearest integer:
float temperature = round(gw.getConfig().isMetric ? sensors.getTempCByIndex(i) : sensors.getTempFByIndex(i)));
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login