www.digitalmars.com         C & C++   DMDScript  

D - error compiling?

reply akcom <akcom akcom.org> writes:
import std.string;

int main( char [][] args )
{
     char[] str1;

     real[char[]] array;

     str1 = "akcom";
     str1 ~= "rofl";
     array[str1] = 1235.0123;

     printf( "%f %f\n", 123.123, array[str1] );

     return 0;
}

the output:
123.123000 -0.000000
Aug 09 2004
parent reply Stewart Gordon <smjg_1998 yahoo.com> writes:
[You're posting to a deprecated 'group.  Taking it to digitalmars.D....]

akcom wrote:

<snip>
     real[char[]] array;

     printf( "%f %f\n", 123.123, array[str1] );

%f denotes a double, not a real. IIRC you need %lf, not %f. Being on the Mac at the mo, I can't test it.... Or alternatively, use writef, which is much more typesafe. Stewart. -- My e-mail is valid but not my primary mailbox. Please keep replies on the 'group where everyone may benefit.
Aug 10 2004
parent reply akcom <akcom akcom.org> writes:
Stewart Gordon wrote:
 [You're posting to a deprecated 'group.  Taking it to digitalmars.D....]
 
 akcom wrote:
 
 <snip>
 
     real[char[]] array;

<snip>
     printf( "%f %f\n", 123.123, array[str1] );

<snip> %f denotes a double, not a real. IIRC you need %lf, not %f. Being on the Mac at the mo, I can't test it.... Or alternatively, use writef, which is much more typesafe. Stewart.

Aug 10 2004
parent xjc <xjc_member pathlink.com> writes:
lf works for double, f works for float, neither works for real.

In article <cfb75r$9mb$1 digitaldaemon.com>, akcom says...
Stewart Gordon wrote:
 [You're posting to a deprecated 'group.  Taking it to digitalmars.D....]
 
 akcom wrote:
 
 <snip>
 
     real[char[]] array;

<snip>
     printf( "%f %f\n", 123.123, array[str1] );

<snip> %f denotes a double, not a real. IIRC you need %lf, not %f. Being on the Mac at the mo, I can't test it.... Or alternatively, use writef, which is much more typesafe. Stewart.


Nov 07 2004