On 8-7-2024 5:18, Saki Takamachi wrote:
Hi Juliette,

Hi Saki,

Just wondering: why `int|string` instead of `float|string` ?
In my experience, floats are the more pertinent type for which to use the 
BCMath extension.

Smile,
Juliette
Since floating point numbers always contain a certain amount of error, I 
believe that they are not suitable as arguments for BCMath.
Okay, so in that case, I must be missing something.
For example, 0.285 becomes 0.284999... in floating point. From the perspective 
of arbitrary precision math, there is no universally agreeable way to properly 
handle values ​​like this: there will always be people who want to treat it as 
0.285, and people who want to treat it as 0.284999....

I honestly don't understand what you are saying here.

If 0.285 is a string, then no type conversion would be needed to pass it to BCMath anyhow.
Otherwise, 0.285 would be a floating point number already.

If the type for BCMath would become `int|string`, in non-strict mode, there would be quite a significant change in behaviour for the BCMath functions as passing the _float_ 0.285 would previously result in the string "0.285" being passed to the BCMath function, but would now result in the integer 0 being passed.

I think this BC-break will need to be called out as it is not mentioned in the RFC.
I also think this BC-break should be enough reason not to accept the RFC.

Smile,
Juliette







Reply via email to