D do not know which function to use apparently
Narxa
fbf99eQrXpHcjP8L at gmail.com
Tue Dec 11 15:17:10 UTC 2018
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.
More information about the Digitalmars-d-learn
mailing list