[php-src] Issue #19135: bcmath: strip leading/trailing zeros option (code is already there)
| From: | quakemmo | Date: | Tue, 15 Jul 2025 16:33:05 +0000 |
| Subject: | [php-src] Issue #19135: bcmath: strip leading/trailing zeros option (code is already there) | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-250440@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/19135
Author: quakemmo
### Description
@SakiTakamachi It seems that you're the one taking care of bcmath at least recently.
Would it be possible to add a flag to the bc* functions such as bcadd, bcmul and so on, that would
strip the trailing and/or leading zeros from the results? Maybe even make it the default? At this
time, bscale(10); bcadd('1', '2'); will produce the result
'3.0000000000', which while correct, isn't really ideal.
Or at the very least, give public access to the already existing functions bc_rm_trailing_zeros()
and _bc_rm_leading_zeros() ?
Ideally it would also have a flag to either keep or not the integer zero in values such as 0.1234
(so the strip leading zeros would either keep it or just return .1234).
I'm using bcmath very extensively in a project where performance matters and doing such
sanitization in PHP itself is 1) a pain and 2) a performance sink. It would really help if
that's something that could be handled directly by bcmath, which is otherwise a wondeful
library that thankfully exists.
Thank you for your work on bcmath.