D - Is this is intentional (or a bug)? (1/3 equals 0)
- SL (16/16) Mar 26 2004 Basically, I wrote this out:
- Ilya Minkov (6/29) Mar 26 2004 It is a C-ism. Due to lack of proper beginners' books on D, it is very
- Stewart Gordon (11/18) Mar 26 2004 I think so.
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. -SLDoes 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