示例#1
0
 // Convert unsigned 16bit int to string 1234 format
 char* ui16tostr4(const uint16_t xx) {
   conv[3] = RJDIGIT(xx, 1000);
   conv[4] = RJDIGIT(xx, 100);
   conv[5] = RJDIGIT(xx, 10);
   conv[6] = DIGIMOD(xx, 1);
   return &conv[3];
 }
示例#2
0
 // Convert signed int to rj string with 123 or -12 format
 char* itostr3(const int& x) {
   int xx = x;
   conv[4] = MINUSOR(xx, RJDIGIT(xx, 100));
   conv[5] = RJDIGIT(xx, 10);
   conv[6] = DIGIMOD(xx, 1);
   return &conv[4];
 }
示例#3
0
 // Convert unsigned float to rj string with 12345 format
 char* ftostr5rj(const float& x) {
   const long xx = x < 0 ? -x : x;
   conv[2] = RJDIGIT(xx, 10000);
   conv[3] = RJDIGIT(xx, 1000);
   conv[4] = RJDIGIT(xx, 100);
   conv[5] = RJDIGIT(xx, 10);
   conv[6] = DIGIMOD(xx, 1);
   return &conv[2];
 }
示例#4
0
 // Convert unsigned float to rj string with 12345 format
 char* ftostr5rj(const float &f) {
   const long i = ((f < 0 ? -f : f) * 10 + 5) / 10;
   conv[2] = RJDIGIT(i, 10000);
   conv[3] = RJDIGIT(i, 1000);
   conv[4] = RJDIGIT(i, 100);
   conv[5] = RJDIGIT(i, 10);
   conv[6] = DIGIMOD(i, 1);
   return &conv[2];
 }
示例#5
0
 // 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;
   conv[0] = RJDIGIT(xx, 100000);
   conv[1] = RJDIGIT(xx, 10000);
   conv[2] = RJDIGIT(xx, 1000);
   conv[3] = DIGIMOD(xx, 100);
   conv[4] = '.';
   conv[5] = DIGIMOD(xx, 10);
   conv[6] = DIGIMOD(xx, 1);
   return conv;
 }
示例#6
0
 // Convert unsigned float to string with 1234.56 format omitting trailing zeros
 char* ftostr62rj(const float &f) {
   const long i = ((f < 0 ? -f : f) * 1000 + 5) / 10;
   conv[0] = RJDIGIT(i, 100000);
   conv[1] = RJDIGIT(i, 10000);
   conv[2] = RJDIGIT(i, 1000);
   conv[3] = DIGIMOD(i, 100);
   conv[4] = '.';
   conv[5] = DIGIMOD(i, 10);
   conv[6] = DIGIMOD(i, 1);
   return conv;
 }
示例#7
0
  // Convert signed float to space-padded string with -_23.4_ format
  char* ftostr52sp(const float& x) {
    long xx = x * 100;
    uint8_t dig;
    conv[1] = MINUSOR(xx, RJDIGIT(xx, 10000));
    conv[2] = RJDIGIT(xx, 1000);
    conv[3] = DIGIMOD(xx, 100);

    if ((dig = xx % 10)) {          // second digit after decimal point?
      conv[4] = '.';
      conv[5] = DIGIMOD(xx, 10);
      conv[6] = DIGIT(dig);
    }
    else {
      if ((dig = (xx / 10) % 10)) { // first digit after decimal point?
        conv[4] = '.';
        conv[5] = DIGIT(dig);
      }
      else                          // nothing after decimal point
        conv[4] = conv[5] = ' ';
      conv[6] = ' ';
    }
    return &conv[1];
  }
示例#8
0
  // Convert signed float to space-padded string with -_23.4_ format
  char* ftostr52sp(const float &f) {
    long i = (f * 1000 + (f < 0 ? -5: 5)) / 10;
    uint8_t dig;
    conv[0] = MINUSOR(i, ' ');
    conv[1] = RJDIGIT(i, 10000);
    conv[2] = RJDIGIT(i, 1000);
    conv[3] = DIGIMOD(i, 100);

    if ((dig = i % 10)) {          // second digit after decimal point?
      conv[4] = '.';
      conv[5] = DIGIMOD(i, 10);
      conv[6] = DIGIT(dig);
    }
    else {
      if ((dig = (i / 10) % 10)) { // first digit after decimal point?
        conv[4] = '.';
        conv[5] = DIGIT(dig);
      }
      else                          // nothing after decimal point
        conv[4] = conv[5] = ' ';
      conv[6] = ' ';
    }
    return conv;
  }
示例#9
0
 // Convert unsigned 8bit int to string 123 format
 char* ui8tostr3(const uint8_t i) {
   conv[4] = RJDIGIT(i, 100);
   conv[5] = RJDIGIT(i, 10);
   conv[6] = DIGIMOD(i, 1);
   return &conv[4];
 }