## digitalmars.D.learn - My new least favorite one-liner...

• Jude Young (4/4) Nov 05 2011 icon = *(toStringz(text(num)));
• Vladimir Panteleev (8/12) Nov 05 2011 If I understood the problem correctly:
• bearophile (10/13) Nov 05 2011 Are you trying to convert a single-digit number?
• Jude Young (7/20) Nov 05 2011 Nice. Exactly what I was looking for.
• Regan Heath (8/30) Nov 07 2011 You've also got std.ascii.digits which is "0123456789" and
• Dejan Lekic (3/11) Nov 07 2011 I used similar solution to bearophile's before. I must admit i did not k...
Jude Young <10equals2 gmail.com> writes:
```icon = *(toStringz(text(num)));

icon is a char, num is an integer.
I don't suppose there is an easier way to do this?

It's too late and ma brains is mushy.
```
Nov 05 2011
```On Sat, 05 Nov 2011 10:29:36 +0200, Jude Young <10equals2 gmail.com> wrote:

icon = *(toStringz(text(num)));

icon is a char, num is an integer.
I don't suppose there is an easier way to do this?

It's too late and ma brains is mushy.

If I understood the problem correctly:

icon = text(num)[0];

-- or --

icon = cast(char)('0' + num);

--
Best regards,
```
Nov 05 2011
bearophile <bearophileHUGS lycos.com> writes:
```Jude Young:

icon = *(toStringz(text(num)));

icon is a char, num is an integer.

Are you trying to convert a single-digit number?

import std.stdio;
void main() {
int x = 5; // in [0 .. 10]
char c = cast(char)(x + '0');
writeln(c);
}

Bye,
bearophile
```
Nov 05 2011
Jude Young <10equals2 gmail.com> writes:
```Nice.  Exactly what I was looking for.
I knew I was missing something tiny.

Now I just need to figure out why that works and I can say I've learned
something!
Thanks guys,
Jude

On Sat, Nov 5, 2011 at 5:38 AM, bearophile <bearophileHUGS lycos.com> wrote:

Jude Young:

icon = *(toStringz(text(num)));

icon is a char, num is an integer.

Are you trying to convert a single-digit number?

import std.stdio;
void main() {
int x = 5; // in [0 .. 10]
char c = cast(char)(x + '0');
writeln(c);
}

Bye,
bearophile

```
Nov 05 2011
"Regan Heath" <regan netmail.co.nz> writes:
```On Sun, 06 Nov 2011 04:39:28 -0000, Jude Young <10equals2 gmail.com> wrote:
Nice.  Exactly what I was looking for.
I knew I was missing something tiny.

Now I just need to figure out why that works and I can say I've learned
something!
Thanks guys,
Jude

On Sat, Nov 5, 2011 at 5:38 AM, bearophile <bearophileHUGS lycos.com>
wrote:

Jude Young:

icon = *(toStringz(text(num)));

icon is a char, num is an integer.

Are you trying to convert a single-digit number?

import std.stdio;
void main() {
int x = 5; // in [0 .. 10]
char c = cast(char)(x + '0');
writeln(c);
}

You've also got std.ascii.digits which is "0123456789" and
std.string.digits which is an alias of it, so you can say:

import std.ascii; (or std.string)

int x = 5;
char c = std.ascii.digits[x];

--
Using Opera's revolutionary email client: http://www.opera.com/mail/
```
Nov 07 2011
Dejan Lekic <dejan.lekic gmail.com> writes:
```Regan Heath wrote:

You've also got std.ascii.digits which is "0123456789" and
std.string.digits which is an alias of it, so you can say:

import std.ascii; (or std.string)

int x = 5;
char c = std.ascii.digits[x];

I used similar solution to bearophile's before. I must admit i did not know
about std.ascii.digits[], thanks for the info Regan.
```
Nov 07 2011