Simplest way to convert integer to char

Integer to char, the [b]simplest[/b][u][/u] way.

Like the str function: str(integer VAR, string VAR).
But I need integer VAR --> char VAR.

Example:
1 to '1'
123 to '123'
Also, -1 to '-1' if possible.

Anyone any idea, please?

Comments

  • : Integer to char, the [b]simplest[/b][u][/u] way.
    :
    : Like the str function: str(integer VAR, string VAR).
    : But I need integer VAR --> char VAR.
    :
    : Example:
    : 1 to '1'
    : 123 to '123'
    : Also, -1 to '-1' if possible.
    :
    : Anyone any idea, please?
    :

    You gotta use the [b]str[/b] procedure and process the resulting string, easy, since every string is an array of chars. Even if would be possible, you couldn't convert 123 or -1, only single digit positive integers. Here's a simple method:[code][color=Blue]var i,j:integer;
    s:string;
    ch:array[0..255] of char absolute s;
    { "ch" occupies the same place in memory as "s"}


    begin
    repeat
    write('Enter a value (0 to quit): ');readln(i);
    str(i,s);
    for j:=1 to byte(ch[0]) do { ch[0] is the length marker }
    writeln('ch[',j,']=',ch[j]);writeln;
    until i=0;
    end.[/color][/code]
  • Thanks for reply, Atex.

    Question: As you have said only a single digit is possible, then how about chr(integer+48)?

    Please check your mailbox, I have mailed you a letter 2 days ago.

    Thanks v. much,
    blackr1234

  • :
    : Question: As you have said only a single digit is possible, then how
    : about chr(integer+48)?
    :

    [b]chr[/b] converts a value to a char type, it accepts a byte, so doesn't matter what you pass down to it, will only convert the lower 8bit of the argument.

    [b]str[/b] does the same thing but returns a string type, so for only 1 digit arguments returns a 1 length string which is a char ( although is stored as 2 bytes not 1 like a char).

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories