EmbDev.net

Forum: µC & Digital Electronics Convert Unsigned 8 bit integer to a string ?


von John M. (215)


Rate this post
0 useful
not useful
How shall i convert a unsigned 8 bit integer to a string without using 
any libaries.... Only self written functions.

von Max H. (hartl192)


Rate this post
0 useful
not useful
If you use C:
1
  unsigned char number_txt[4], hundred=0, ten=0;
2
  while(1)
3
  {
4
    if(number>=100)
5
    {
6
      number=number-100;
7
      hundred++;
8
    }  
9
    else
10
      break;
11
  }
12
  while(1)
13
  {
14
    if(number>=10)
15
    {
16
      number=number-10;
17
      ten++;
18
    }  
19
    else
20
      break;
21
  }
22
  number_txt[0]=hundred+'0';
23
  number_txt[1]=ten+'0';
24
  number_txt[2]=number+'0';
25
  number_txt[3]=0x00;

: Edited by User
von T_T (Guest)


Rate this post
0 useful
not useful
Why this construct with while(1)/if?

This is simpler:
1
  unsigned char number_txt[4], hundred=0, ten=0;
2
  while (number >= 100)
3
  {
4
    number = number-100;
5
    hundred++;
6
  }
7
  while (number >= 10)
8
  {
9
    number = number-10;
10
    ten++;
11
  }
12
  number_txt[0] = hundred+'0';
13
  number_txt[1] = ten+'0';
14
  number_txt[2] = number+'0';
15
  number_txt[3] = 0;

or still shorter:
1
  unsigned char number_txt[4], hundred=0, ten=0;
2
  while (number >= 100)
3
  {
4
    number -= 100;
5
    hundred++;
6
  }
7
  while (number >= 10)
8
  {
9
    number -= 10;
10
    ten++;
11
  }
12
  number_txt[0] = hundred+'0';
13
  number_txt[1] = ten+'0';
14
  number_txt[2] = number+'0';
15
  number_txt[3] = 0;

von John M. (215)


Rate this post
0 useful
not useful
I am trying to read it to an LCD display, but I am getting random 
character on the display...

von John M. (215)


Rate this post
0 useful
not useful
When i number = 100, is the character i get on my LCD

11111
11010
11111
11111
11111
11111
11111
11111

von T_T (Guest)


Rate this post
0 useful
not useful
And what characters are on your lcd if you write out the string "100" 
direct?

von John M. (215)


Rate this post
0 useful
not useful
when i write 100 the char.  ] and
1111
1110
1100
1111
1101
1111
1111
1110


and if I write "100", 100 appears on the LCD.

oh.. i might have found the solution.. is it possible to get beyond the 
limitation of the size of number..

: Edited by User

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]




Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.