[wp-trac] [WordPress Trac] #47454: BC Math isn't used in WordPress core
WordPress Trac
noreply at wordpress.org
Tue Jun 4 12:21:51 UTC 2019
#47454: BC Math isn't used in WordPress core
---------------------------------------------------+---------------------
Reporter: bronsonquick | Owner: (none)
Type: defect (bug) | Status: new
Priority: normal | Milestone: 5.3
Component: Administration | Version: 5.2
Severity: normal | Resolution:
Keywords: has-patch site-health has-screenshots | Focuses:
---------------------------------------------------+---------------------
Comment (by jrf):
Ok, so someone kindly pointed me to this discussion. (Thanks @jipmoors)
First off: let me make sure everyone knows what
[https://www.php.net/manual/en/ref.bc.php BCMath] does: it provides
calculation functions and it is the **''only reliable way to do
calculations with floating point numbers in PHP''** which is available by
default.
If you want more details - read the big reddish warning on the PHP manual
page about floats: https://www.php.net/manual/en/language.types.float.php
Oh and just for fun and to understand the impact, try this code snippet
in:
{{{#!php
<?php
$x = (int) ( ( 0.1 + 0.7 ) * 10 );
var_dump($x);
}}}
This means that **''any calculations involving divisions, percentages and
money should use BCMath''** as otherwise they **will** be buggy and
unreliable.
I dearly hope that plugins like WooCommerce do this correctly....
BCMath has shipped with PHP since PHP 4.0.4.
The GMP can be seen as a valid alternative, but using that with floating
point numbers is more involved and it doesn't ship with PHP by default.
> BC Math isn't used in core, therefore it's a bug to unnecessarily list
it as a recommended extension.
If Core doesn't use it, it shouldn't be a ''required'' extension, but it
surely should be a ''recommended'' extension.
Also: I wonder if there aren't places in Core where calculations are done
with floats which ''should'' use BCMath.
> bcmath isn't listed there anymore so I'm guessing that was updated which
is good.
I'd recommend bringing it back.
> Since Site Health is a new thing, why not make it cover only Core, while
providing ways for plugins and themes to add requirements.
I'd fully support adding a way for plugins to hook into this.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/47454#comment:18>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list