On Tuesday, 11 December 2018 at 14:53:02 UTC, Steven Schveighoffer wrote:
On 12/11/18 9:47 AM, Narxa wrote:
On Tuesday, 11 December 2018 at 14:22:30 UTC, Adam D. Ruppe wrote:
On Tuesday, 11 December 2018 at 14:16:05 UTC, Narxa wrote:
int var = floor(sqrt(n)) // where 'n' is a 'const int'

You can just cast it to float:

floor(sqrt( cast(float) n ));

and it will work.

It produced the following error:
--------------------------------
Error: cannot implicitly convert expression floor(sqrt(cast(float)n)) of type float to int


I am using 'dmd' compiler if it matters.

You need to cast the result back to int.

-Steve

Yes, it worked:
---------------
int var = cast(int) floor(sqrt( cast(float) n ));


I thought floor already returned an 'int' but I was mistaken.

Thank you very much.

Reply via email to