1--TEST--
2double to string conversion tests (64bit)
3--SKIPIF--
4<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
5--INI--
6precision=14
7--FILE--
8<?php
9
10$doubles = array(
11        29000000000000000000000000000000000000,
12        290000000000000000,
13        290000000000000,
14        29000000000000,
15        29000000000000.123123,
16        29000000000000.7123123,
17        29000.7123123,
18        239234242.7123123,
19        0.12345678901234567890,
20        10000000000000000000000000000000000000000000000,
21        1000000000000000000000000000000000,
22        100000000000000001,
23        1000006000000000011,
24        100000000000001,
25        10000000000,
26        999999999999999999,
27        9999999999999999999,
28        9999999999999999999999999999999999999,
29        (float)0
30        );
31
32foreach ($doubles as $d) {
33        var_dump((string)$d);
34}
35
36echo "Done\n";
37?>
38--EXPECTF--
39string(7) "2.9E+37"
40string(18) "290000000000000000"
41string(15) "290000000000000"
42string(14) "29000000000000"
43string(14) "29000000000000"
44string(14) "29000000000001"
45string(13) "29000.7123123"
46string(15) "239234242.71231"
47string(16) "0.12345678901235"
48string(7) "1.0E+46"
49string(7) "1.0E+33"
50string(18) "100000000000000001"
51string(19) "1000006000000000011"
52string(15) "100000000000001"
53string(11) "10000000000"
54string(18) "999999999999999999"
55string(7) "1.0E+19"
56string(7) "1.0E+37"
57string(1) "0"
58Done
59