mirror of
https://github.com/php/php-src.git
synced 2026-04-30 03:33:17 +02:00
b10416a652
This deprecates passing null to non-nullable scale arguments of internal functions, with the eventual goal of making the behavior consistent with userland functions, where null is never accepted for non-nullable arguments. This change is expected to cause quite a lot of fallout. In most cases, calling code should be adjusted to avoid passing null. In some cases, PHP should be adjusted to make some function arguments nullable. I have already fixed a number of functions before landing this, but feel free to file a bug if you encounter a function that doesn't accept null, but probably should. (The rule of thumb for this to be applicable is that the function must have special behavior for 0 or "", which is distinct from the natural behavior of the parameter.) RFC: https://wiki.php.net/rfc/deprecate_null_to_scalar_internal_arg Closes GH-6475.
74 lines
2.2 KiB
PHP
74 lines
2.2 KiB
PHP
--TEST--
|
|
Test number_format() - multiple character separator support
|
|
--FILE--
|
|
<?php
|
|
$values = array(1234.5678,
|
|
-1234.5678,
|
|
1234.6578e4,
|
|
-1234.56789e4,
|
|
0x1234CDEF,
|
|
02777777777,
|
|
"123456789",
|
|
"123.456789",
|
|
"12.3456789e1",
|
|
true,
|
|
false);
|
|
|
|
echo " number_format tests.....multiple character decimal point\n";
|
|
for ($i = 0; $i < count($values); $i++) {
|
|
$res = number_format($values[$i], 2, '·', ' ');
|
|
var_dump($res);
|
|
}
|
|
|
|
echo "\n number_format tests.....multiple character thousand separator\n";
|
|
for ($i = 0; $i < count($values); $i++) {
|
|
$res = number_format($values[$i], 2, '.' , ' ');
|
|
var_dump($res);
|
|
}
|
|
|
|
echo "\n number_format tests.....multiple character decimal and thousep\n";
|
|
for ($i = 0; $i < count($values); $i++) {
|
|
$res = number_format($values[$i], 2, '·' , ' ');
|
|
var_dump($res);
|
|
}
|
|
?>
|
|
--EXPECT--
|
|
number_format tests.....multiple character decimal point
|
|
string(13) "1 234·57"
|
|
string(14) "-1 234·57"
|
|
string(18) "12 346 578·00"
|
|
string(19) "-12 345 678·90"
|
|
string(19) "305 450 479·00"
|
|
string(19) "402 653 183·00"
|
|
string(19) "123 456 789·00"
|
|
string(11) "123·46"
|
|
string(11) "123·46"
|
|
string(9) "1·00"
|
|
string(9) "0·00"
|
|
|
|
number_format tests.....multiple character thousand separator
|
|
string(15) "1 234.57"
|
|
string(16) "-1 234.57"
|
|
string(27) "12 346 578.00"
|
|
string(28) "-12 345 678.90"
|
|
string(28) "305 450 479.00"
|
|
string(28) "402 653 183.00"
|
|
string(28) "123 456 789.00"
|
|
string(6) "123.46"
|
|
string(6) "123.46"
|
|
string(4) "1.00"
|
|
string(4) "0.00"
|
|
|
|
number_format tests.....multiple character decimal and thousep
|
|
string(20) "1 234·57"
|
|
string(21) "-1 234·57"
|
|
string(32) "12 346 578·00"
|
|
string(33) "-12 345 678·90"
|
|
string(33) "305 450 479·00"
|
|
string(33) "402 653 183·00"
|
|
string(33) "123 456 789·00"
|
|
string(11) "123·46"
|
|
string(11) "123·46"
|
|
string(9) "1·00"
|
|
string(9) "0·00"
|