convert between types
Lars Johansson
lasse at 11dim.se
Fri Jan 2 14:58:16 UTC 2026
On Friday, 2 January 2026 at 13:09:44 UTC, Lars Johansson wrote:
> I'm writing a simple program just to get started (se below).
> mat[i][z] = z; this line generate following error:
> cannot implicitly convert expression `z` of type `ulong`
> to `char`
>
> There are a number of ways to avoid this conversion, but I'm
> interested in best way to convert between types. How do I do
> this conversion best D practice.
>
> Is there a cheet sheet where I can find preferably all possible
> conversions between types?
> That sheet would save me hours and hours and lots of screaming
> in agony.
>
>
>
> import std.stdio;
> void main()
> {
> writeln("Hello, world without explicit compilations!");
> auto xmat = [
> ['a','a','a','a','a','a','a','a']
> ,['*','*','*','*','*','*','*','*']
> ,['*','*','*','*','*','*','*','*']
> ];
> initmat(xmat);
> }
>
> void initmat (char[][] mat) {
> import std.conv;
> foreach (i, row; mat) {
> foreach (z, tek; row) {
> // writeln(tek);
> mat[i][z] = z;
> }
> }
> }
I found a solution wchar cast(wchar) (z + '0');
first declare the array as wchar
then add '0' to the value
then cast(wchar) (z + '0')
I do not find this very easy to figure out. I found the
conversion chapter in the manual from there I saw wchar is more
likely to work. the add zero claude helped me with.
A cheet sheet would be very nice to have.
From this I learned to hex display everything that I have
conversion problem with.
More information about the Digitalmars-d-learn
mailing list