diff options
Diffstat (limited to 'Zend/tests/double_to_string_64bit.phpt')
-rw-r--r-- | Zend/tests/double_to_string_64bit.phpt | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/Zend/tests/double_to_string_64bit.phpt b/Zend/tests/double_to_string_64bit.phpt new file mode 100644 index 0000000..5ecb1a6 --- /dev/null +++ b/Zend/tests/double_to_string_64bit.phpt @@ -0,0 +1,58 @@ +--TEST-- +double to string conversion tests (64bit) +--SKIPIF-- +<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?> +--INI-- +precision=14 +--FILE-- +<?php + +$doubles = array( + 29000000000000000000000000000000000000, + 290000000000000000, + 290000000000000, + 29000000000000, + 29000000000000.123123, + 29000000000000.7123123, + 29000.7123123, + 239234242.7123123, + 0.12345678901234567890, + 10000000000000000000000000000000000000000000000, + 1000000000000000000000000000000000, + 100000000000000001, + 1000006000000000011, + 100000000000001, + 10000000000, + 999999999999999999, + 9999999999999999999, + 9999999999999999999999999999999999999, + (float)0 + ); + +foreach ($doubles as $d) { + var_dump((string)$d); +} + +echo "Done\n"; +?> +--EXPECTF-- +string(7) "2.9E+37" +string(18) "290000000000000000" +string(15) "290000000000000" +string(14) "29000000000000" +string(14) "29000000000000" +string(14) "29000000000001" +string(13) "29000.7123123" +string(15) "239234242.71231" +string(16) "0.12345678901235" +string(7) "1.0E+46" +string(7) "1.0E+33" +string(18) "100000000000000001" +string(19) "1000006000000000011" +string(15) "100000000000001" +string(11) "10000000000" +string(18) "999999999999999999" +string(7) "1.0E+19" +string(7) "1.0E+37" +string(1) "0" +Done |