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

Reply via email to