20 return print(
reinterpret_cast<const char *
>(ifsh));
26 return print((
unsigned long)b, base);
30 return print((
unsigned long)n, base);
34 return write((uint8_t)n);
35 if (base == 10 && n < 0) {
36 size_t t =
print(
'-');
37 return t + printNumber((
unsigned long)(-(n + 1)) + 1UL, 10);
39 return printNumber((
unsigned long)n, (uint8_t)base);
42 return (base == 0) ?
write((uint8_t)n) : printNumber(n, (uint8_t)base);
44size_t Print::print(
double n,
int digits) {
return printFloat(n, (uint8_t)digits); }
68size_t Print::printNumber(
unsigned long n, uint8_t base) {
69 char buf[8 *
sizeof(long) + 1];
70 char *str = &buf[
sizeof(buf) - 1];
77 char c = (char)(m - base * n);
78 *--str = (c < 10) ? (
char)(c +
'0') : (char)(c +
'A' - 10);
83size_t Print::printFloat(
double number, uint8_t digits) {
89 if (number > 4294967040.0 || number < -4294967040.0)
96 double rounding = 0.5;
97 for (uint8_t i = 0; i < digits; ++i)
100 unsigned long int_part = (
unsigned long)number;
101 double remainder = number - (double)int_part;
102 n +=
print(int_part);
105 while (digits-- > 0) {
107 unsigned int digit = (
unsigned int)remainder;
Arduino-compatible Print base class (independent implementation).
size_t print(const __FlashStringHelper *ifsh)
virtual size_t write(uint8_t c)=0
Minimal Arduino-String stand-in (see file description).
const char * c_str() const
unsigned int length() const