Thread overview | ||||||||
---|---|---|---|---|---|---|---|---|
|
November 05, 2011 My new least favorite one-liner... | ||||
---|---|---|---|---|
| ||||
Attachments:
| 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. |
November 05, 2011 Re: My new least favorite one-liner... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jude Young | 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, Vladimir mailto:vladimir@thecybershadow.net |
November 05, 2011 Re: My new least favorite one-liner... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jude Young | 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
|
November 06, 2011 Re: My new least favorite one-liner... | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile Attachments:
| 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
>
|
November 07, 2011 Re: My new least favorite one-liner... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jude Young | 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/ |
November 07, 2011 Re: My new least favorite one-liner... | ||||
---|---|---|---|---|
| ||||
Posted in reply to Regan Heath | 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.
|
Copyright © 1999-2021 by the D Language Foundation