Round all floats in string conversion functions (#10566)

This commit is contained in:
Scott Lahteine
2018-04-29 00:51:36 -05:00
committed by GitHub
parent 3f68203324
commit 9e0d99c0c6
6 changed files with 22 additions and 22 deletions

View File

@ -87,7 +87,7 @@ void safe_delay(millis_t ms) {
}
// Convert signed int to rj string with 1234, _123, -123, _-12, or __-1 format
char *itostr4sign(const int x) {
char* itostr4sign(const int x) {
const bool neg = x < 0;
const int xx = neg ? -x : x;
if (x >= 1000) {
@ -119,7 +119,7 @@ void safe_delay(millis_t ms) {
// Convert unsigned float to string with 1.23 format
char* ftostr12ns(const float &x) {
const long xx = (x < 0 ? -x : x) * 100;
const long xx = ((x < 0 ? -x : x) + 0.001) * 100;
conv[3] = DIGIMOD(xx, 100);
conv[4] = '.';
conv[5] = DIGIMOD(xx, 10);
@ -128,8 +128,8 @@ void safe_delay(millis_t ms) {
}
// Convert signed float to fixed-length string with 023.45 / -23.45 format
char *ftostr32(const float &x) {
long xx = x * 100;
char* ftostr32(const float &x) {
long xx = FIXFLOAT(x) * 100;
conv[1] = MINUSOR(xx, DIGIMOD(xx, 10000));
conv[2] = DIGIMOD(xx, 1000);
conv[3] = DIGIMOD(xx, 100);
@ -142,8 +142,8 @@ void safe_delay(millis_t ms) {
#if ENABLED(LCD_DECIMAL_SMALL_XY)
// Convert float to rj string with 1234, _123, -123, _-12, 12.3, _1.2, or -1.2 format
char *ftostr4sign(const float &fx) {
const int x = fx * 10;
char* ftostr4sign(const float &fx) {
const int x = FIXFLOAT(fx) * 10;
if (!WITHIN(x, -99, 999)) return itostr4sign((int)fx);
const bool neg = x < 0;
const int xx = neg ? -x : x;
@ -158,7 +158,7 @@ void safe_delay(millis_t ms) {
// Convert float to fixed-length string with +123.4 / -123.4 format
char* ftostr41sign(const float &x) {
int xx = x * 10;
int xx = FIXFLOAT(x) * 10;
conv[1] = MINUSOR(xx, '+');
conv[2] = DIGIMOD(xx, 1000);
conv[3] = DIGIMOD(xx, 100);
@ -170,7 +170,7 @@ void safe_delay(millis_t ms) {
// Convert signed float to string (6 digit) with -1.234 / _0.000 / +1.234 format
char* ftostr43sign(const float &x, char plus/*=' '*/) {
long xx = x * 1000;
long xx = FIXFLOAT(x) * 1000;
conv[1] = xx ? MINUSOR(xx, plus) : ' ';
conv[2] = DIGIMOD(xx, 1000);
conv[3] = '.';
@ -193,7 +193,7 @@ void safe_delay(millis_t ms) {
// Convert signed float to string with +1234.5 format
char* ftostr51sign(const float &x) {
long xx = x * 10;
long xx = FIXFLOAT(x) * 10;
conv[0] = MINUSOR(xx, '+');
conv[1] = DIGIMOD(xx, 10000);
conv[2] = DIGIMOD(xx, 1000);
@ -206,7 +206,7 @@ void safe_delay(millis_t ms) {
// Convert signed float to string with +123.45 format
char* ftostr52sign(const float &x) {
long xx = x * 100;
long xx = FIXFLOAT(x) * 100;
conv[0] = MINUSOR(xx, '+');
conv[1] = DIGIMOD(xx, 10000);
conv[2] = DIGIMOD(xx, 1000);
@ -219,7 +219,7 @@ void safe_delay(millis_t ms) {
// Convert unsigned float to string with 1234.56 format omitting trailing zeros
char* ftostr62rj(const float &x) {
const long xx = (x < 0 ? -x : x) * 100;
const long xx = ((x < 0 ? -x : x) + 0.001) * 100;
conv[0] = RJDIGIT(xx, 100000);
conv[1] = RJDIGIT(xx, 10000);
conv[2] = RJDIGIT(xx, 1000);
@ -232,7 +232,7 @@ void safe_delay(millis_t ms) {
// Convert signed float to space-padded string with -_23.4_ format
char* ftostr52sp(const float &x) {
long xx = x * 100;
long xx = FIXFLOAT(x) * 100;
uint8_t dig;
conv[1] = MINUSOR(xx, RJDIGIT(xx, 10000));
conv[2] = RJDIGIT(xx, 1000);