Promotion rules ... why no float?

Daniel Kozak via Digitalmars-d digitalmars-d at puremagic.com
Tue Sep 6 08:27:45 PDT 2016


Dne 6.9.2016 v 17:00 Sai via Digitalmars-d napsal(a):

> Thanks for the replies.
>
> I tend to use a lot of float math (robotics and automation) so I 
> almost always want float output in case of division. And once in a 
> while I bump into this issue.
>
> I am wondering what are the best ways to work around it.
>
>     float c = a / b;     // a and b could be integers.
>
> Some solutions:
>
>     float c = cast!float(a) / b;
>     float c = 1f * a / b;
>
>
> Any less verbose ways to do it?
>
> Another solution I am thinking is to write a user defined integer type 
> with an overloaded division to return a float instead and use it 
> everywhere in place of integers. I am curious how this will work out.
Because of alias this it works quite well for me in many cases. However 
one unplesant situation is with method parameters


More information about the Digitalmars-d mailing list