1
0
mirror of https://github.com/php/php-src.git synced 2026-04-29 03:03:26 +02:00
Files
archived-php-src/ext/bcmath/tests/number/methods/compare.phpt
T
Saki Takamachi fad899e566 [RFC] Support object types in BCMath (#13741)
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>
2024-09-04 11:12:51 +09:00

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)