mirror of
https://github.com/php/php-src.git
synced 2026-04-29 03:03:26 +02:00
fad899e566
Added BcMath\Number class. It is an immutable object, has methods that are equivalent to existing BCMath calculation functions, and can also be calculated using operators. The existing BCMath function returned a string for each calculation, but this class returns an object. RFC: https://wiki.php.net/rfc/support_object_type_in_bcmath, https://wiki.php.net/rfc/fix_up_bcmath_number_class --------- Co-authored-by: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
64 lines
1.1 KiB
PHP
64 lines
1.1 KiB
PHP
--TEST--
|
|
BcMath\Number compare()
|
|
--EXTENSIONS--
|
|
bcmath
|
|
--FILE--
|
|
<?php
|
|
|
|
$values2 = [
|
|
[99, 'int'],
|
|
['99.9999', 'string'],
|
|
[new BcMath\Number('99.9999'), 'object'],
|
|
[100, 'int'],
|
|
['100', 'string'],
|
|
['100.0000', 'string'],
|
|
[new BcMath\Number(100), 'object'],
|
|
[new BcMath\Number('100.0000'), 'object'],
|
|
[101, 'int'],
|
|
['100.00001', 'string'],
|
|
[new BcMath\Number('100.00001'), 'object'],
|
|
];
|
|
|
|
$value1 = new BcMath\Number('100.0000');
|
|
|
|
foreach ($values2 as [$value2, $type2]) {
|
|
echo "========== with {$type2} {$value2} ==========\n";
|
|
var_dump($value1->compare($value2));
|
|
|
|
echo "\n";
|
|
}
|
|
?>
|
|
--EXPECT--
|
|
========== with int 99 ==========
|
|
int(1)
|
|
|
|
========== with string 99.9999 ==========
|
|
int(1)
|
|
|
|
========== with object 99.9999 ==========
|
|
int(1)
|
|
|
|
========== with int 100 ==========
|
|
int(0)
|
|
|
|
========== with string 100 ==========
|
|
int(0)
|
|
|
|
========== with string 100.0000 ==========
|
|
int(0)
|
|
|
|
========== with object 100 ==========
|
|
int(0)
|
|
|
|
========== with object 100.0000 ==========
|
|
int(0)
|
|
|
|
========== with int 101 ==========
|
|
int(-1)
|
|
|
|
========== with string 100.00001 ==========
|
|
int(-1)
|
|
|
|
========== with object 100.00001 ==========
|
|
int(-1)
|