fix #717, rounding error

This commit is contained in:
MichaelDvP
2022-11-01 17:24:10 +01:00
parent 2c056d6807
commit 4809ef3537

View File

@@ -297,7 +297,7 @@ char * Helpers::render_value(char * result, const int32_t value, const int8_t fo
} else if (format > 0) {
strlcat(result, itoa(new_value / format, s, 10), sizeof(s));
strlcat(result, ".", sizeof(s));
strlcat(result, itoa((new_value % format + format / 2) * 10 / format, s, 10), sizeof(s));
strlcat(result, itoa(((new_value % format) * 10 + format / 2) / format, s, 10), sizeof(s));
} else {
strlcat(result, itoa(new_value * format * -1, s, 10), sizeof(s));
}
@@ -347,7 +347,7 @@ char * Helpers::render_value(char * result, const uint32_t value, const int8_t f
} else if (format > 0) {
strlcpy(result, ltoa(new_value / format, s, 10), sizeof(s));
strlcat(result, ".", sizeof(s));
strlcat(result, itoa((new_value % format + format / 2) * 10 / format, s, 10), sizeof(s));
strlcat(result, itoa(((new_value % format) * 10 + format / 2) / format, s, 10), sizeof(s));
} else {
strlcpy(result, ltoa(new_value * format * -1, s, 10), sizeof(s));
}