rfc:new_rounding_modes_to_round_function
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rfc:new_rounding_modes_to_round_function [2023/09/04 22:13] – Explained reasoning of the names in details jorg_sowa | rfc:new_rounding_modes_to_round_function [2023/12/21 15:21] (current) – Changed status to implemented jorg_sowa | ||
---|---|---|---|
Line 3: | Line 3: | ||
* Target version: PHP 8.4 | * Target version: PHP 8.4 | ||
* Author: Jorg Sowa < | * Author: Jorg Sowa < | ||
- | * Status: | + | * Status: |
* Implementation: | * Implementation: | ||
* First Published at: http:// | * First Published at: http:// | ||
Line 27: | Line 27: | ||
* PHP_ROUND_FLOOR - rounds num to the nearest integer lower than num, | * PHP_ROUND_FLOOR - rounds num to the nearest integer lower than num, | ||
* PHP_ROUND_AWAY_FROM_ZERO - rounds num away from zero, | * PHP_ROUND_AWAY_FROM_ZERO - rounds num away from zero, | ||
- | * PHP_ROUND_TOWARD_ZERO - rounds num towards zero. | + | * PHP_ROUND_TOWARD_ZERO - rounds num towards zero. |
+ | |||
+ | Creating two aliases of constants from Intl extension to have consistent naming for rounding modes: | ||
+ | |||
+ | * ROUND_TOWARD_ZERO (equivalent of PHP_ROUND_TOWARD_ZERO) alias of [[https:// | ||
+ | * ROUND_AWAY_FROM_ZERO (equivalent of PHP_ROUND_AWAY_FROM_ZERO) alias of [[https:// | ||
===== Backward Incompatible Changes ===== | ===== Backward Incompatible Changes ===== | ||
Line 40: | Line 45: | ||
==== Why not use functions ceil() and floor()? ==== | ==== Why not use functions ceil() and floor()? ==== | ||
- | The functions ceil() and floor() round numbers to the full integer, while the function round() | + | The functions ceil() and floor() round numbers to the full integer, while the function round() |
<PHP> | <PHP> | ||
ceil($number) === round($number, | ceil($number) === round($number, | ||
Line 48: | Line 53: | ||
==== Why not the names PHP_ROUND_UP and PHP_ROUND_DOWN? | ==== Why not the names PHP_ROUND_UP and PHP_ROUND_DOWN? | ||
Such constants already exist in the [[https:// | Such constants already exist in the [[https:// | ||
+ | |||
+ | Those constants would be deprecated and replaced with their corresponding aliases: ROUND_TOWARD_ZERO and ROUND_AWAY_FROM_ZERO. | ||
+ | |||
+ | ==== Why not the enum implementation for the rounding modes? ==== | ||
+ | As this is extension of the existing modes we should add complementary modes to the existing constants instead implementing new Enum. This way enum is an addition to the new constants and is not included into this RFC. | ||
===== Proposed Voting Choices ===== | ===== Proposed Voting Choices ===== | ||
Line 53: | Line 63: | ||
As per the voting RFC a yes/no vote with a 2/3 majority is needed for this proposal to be accepted. | As per the voting RFC a yes/no vote with a 2/3 majority is needed for this proposal to be accepted. | ||
- | Voting started on 2023-09-x and will end on 2023-09-x. | + | Voting started on 2023-11-15 and will end on 2023-11-30 00:00 GMT. |
+ | |||
+ | <doodle title=" | ||
+ | * Yes | ||
+ | * No | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | If the first voting is not accepted the result of the second voting will be ignored. | ||
+ | |||
+ | <doodle title=" | ||
+ | * Yes | ||
+ | * No | ||
+ | </ | ||
===== Implementation ===== | ===== Implementation ===== |
rfc/new_rounding_modes_to_round_function.1693865622.txt.gz · Last modified: 2023/09/04 22:13 by jorg_sowa