Problem while copy Array Element to variable
Zaheer Ahmed via Digitalmars-d
digitalmars-d at puremagic.com
Tue Jul 25 12:36:53 PDT 2017
On Tuesday, 25 July 2017 at 17:11:37 UTC, Ali Çehreli wrote:
> On 07/25/2017 09:14 AM, Zaheer Ahmed wrote:
> > My Dynamic array completely work good but when assign it's
> one index to
> > a variable, it's saves ASCII of that index.
> > writeln(myarray); // output 24
> > var = myarray[0]; // it assign 50 to var
> > Why changed to ASCII and how to get rid of.
>
> First, just to remind you that this question would be more
> helpful on the Learn forum. :)
>
> You're not showing any code so I try to reproduce the issue:
>
> import std.stdio;
>
> void main() {
> auto myarray = "24";
> writeln(myarray); // output 24
> int var;
> auto var = myarray[0]; // it assign 50 to var
> writeln(var);
> }
>
> myarray[0] has the value 50 because 50 is the ASCII code of '2'.
>
> The reason var gets 50 in the above scenario is because var is
> an int. If you want to get char '2' (of course still with the
> value 50), you can make it char:
>
> char var;
>
> On the other hand, if you want to get the integer value 2,
> there is the trick of subtracting the value of '0' from it:
>
> var = myarray[0] - '0';
>
> var now has value 2.
>
> Ali
I got this with var = myarray[0] - '0'; without this I have to
manually pollute my code.
Thanks for Solution & also for writing Book on D Lang.
More information about the Digitalmars-d
mailing list