浮点-替换PHP';s浮点数据类型


floating point - Replace PHP's float datatype

想象一下,由于浮点不准确,代码库中充满了错误。我们的假设是重构或重写代码不是一种选择。

当然,PHP提供GMP和/或BC以获得更高的精度。然而,考虑到上述限制,实施它们将是一项不可能完成的任务。

有没有办法(也许通过PHP模块或核心补丁)将PHP浮点类型完全替换为更精确的类型?当然会有一个性能惩罚,但这是考虑在内的。

它存在吗?如果没有,我写一个有多糟糕?)

您实际上可能会考虑使用SPL类型,它为标量PHP数据类型提供OO包装。然后,您可以扩展SplFloat以使用所需的任何内容替换内部表示。

当然,您仍然需要修改代码中的每个浮点赋值,以使用SplFloat而不是本地标量浮点