## D - Is this is intentional (or a bug)? (1/3 equals 0)

- SL <shadowlord13 users.sourceforge.net> Mar 26 2004
- Ilya Minkov <minkov cs.tum.edu> Mar 26 2004
- Stewart Gordon <smjg_1998 yahoo.com> Mar 26 2004

Basically, I wrote this out: radius=pow((volume*3)/(4*PI),1/3); And radius was coming out to 1 every time. So I made a printf to show various parts of that. printf("PI=%.*s volume=%.*s (volume*3)/(4*PI)=%.*s radius=%.*s\n", .toString(PI), .toString(volume), .toString((volume*3)/(4*PI)), .toString(radius)); PI=3.14159 volume=71.1094 (volume*3)/(4*PI)=16.9761 radius=1 And then I did this: printf("1/3=%.*s",.toString(1/3)); And got: 1/3=0 I suppose this is intentional (Since both numbers are integers)? P.S. I have changed it to 1/3.0, which works, but does not look like a proper fraction :P. -SL

Mar 26 2004

It is a C-ism. Due to lack of proper beginners' books on D, it is very advantageous to learn some of C before going to D. Also, everything which works the same way as in C or C++ has been left out of the documentation. -eye SL schrieb:Basically, I wrote this out: radius=pow((volume*3)/(4*PI),1/3); And radius was coming out to 1 every time. So I made a printf to show various parts of that. printf("PI=%.*s volume=%.*s (volume*3)/(4*PI)=%.*s radius=%.*s\n", .toString(PI), .toString(volume), .toString((volume*3)/(4*PI)), .toString(radius)); PI=3.14159 volume=71.1094 (volume*3)/(4*PI)=16.9761 radius=1 And then I did this: printf("1/3=%.*s",.toString(1/3)); And got: 1/3=0 I suppose this is intentional (Since both numbers are integers)? P.S. I have changed it to 1/3.0, which works, but does not look like a proper fraction :P. -SL

Mar 26 2004

SL wrote: <snip>And got: 1/3=0 I suppose this is intentional (Since both numbers are integers)?

I think so.P.S. I have changed it to 1/3.0, which works, but does not look like a proper fraction :P. -SL

Does cast(real) 1/3 look more like it to you? Stewart. -- My e-mail is valid but not my primary mailbox, aside from its being the unfortunate victim of intensive mail-bombing at the moment. Please keep replies on the 'group where everyone may benefit.

Mar 26 2004