1--TEST--
2Testing floatval() and its alias doubleval() Functions
3--INI--
4precision = 14
5--FILE--
6<?php
7// different valid  float values
8$valid_floats = array(
9       "0.0"  => 0.0,
10       "1.0"  => 1.0,
11       "-1.0" => -1.0,
12       "1.234" => 1.234,
13       "-1.234" => -1.234,
14       "1.2e3" => 1.2e3,
15       "-1.2e3" => -1.2e3,
16       "10.0000000000000000005" => 10.0000000000000000005,
17       "10.5e+5" => 10.5e+5,
18       "1e5" => 1e5,
19       "-1e5" => -1e5,
20       "1e5" => 1e-5,
21       "-1e-1" => -1e-1,
22       "1e+5" => 1e+5,
23       "-1e+5" =>-1e+5,
24       "1E5" => 1E5,
25       "-1E5" => -1E5,
26       "1E+5" => 1E+5,
27       "-1E5" => -1E+5,
28       ".5e+7" => .5e+7,
29       "-.5e+7" =>-.5e+7
30);
31
32/* loop to check that floatval() recognizes different
33   float values, expected output:float value for valid floating point number */
34echo "*** Testing floatval() with valid float values ***\n";
35foreach ($valid_floats as $key => $value ) {
36   echo "\n-- Iteration : $key -- \n";
37   var_dump( floatval($value) );
38}
39
40/* loop to check that doubleval() also recognizes different
41   float values, expected output:float value for valid floating point number */
42echo "\n*** Testing doubleval() with valid float values ***\n";
43foreach ($valid_floats as $key => $value ) {
44   echo "\n-- Iteration : $key -- \n";
45   var_dump( doubleval($value) );
46}
47
48?>
49--EXPECT--
50*** Testing floatval() with valid float values ***
51
52-- Iteration : 0.0 --
53float(0)
54
55-- Iteration : 1.0 --
56float(1)
57
58-- Iteration : -1.0 --
59float(-1)
60
61-- Iteration : 1.234 --
62float(1.234)
63
64-- Iteration : -1.234 --
65float(-1.234)
66
67-- Iteration : 1.2e3 --
68float(1200)
69
70-- Iteration : -1.2e3 --
71float(-1200)
72
73-- Iteration : 10.0000000000000000005 --
74float(10)
75
76-- Iteration : 10.5e+5 --
77float(1050000)
78
79-- Iteration : 1e5 --
80float(1.0E-5)
81
82-- Iteration : -1e5 --
83float(-100000)
84
85-- Iteration : -1e-1 --
86float(-0.1)
87
88-- Iteration : 1e+5 --
89float(100000)
90
91-- Iteration : -1e+5 --
92float(-100000)
93
94-- Iteration : 1E5 --
95float(100000)
96
97-- Iteration : -1E5 --
98float(-100000)
99
100-- Iteration : 1E+5 --
101float(100000)
102
103-- Iteration : .5e+7 --
104float(5000000)
105
106-- Iteration : -.5e+7 --
107float(-5000000)
108
109*** Testing doubleval() with valid float values ***
110
111-- Iteration : 0.0 --
112float(0)
113
114-- Iteration : 1.0 --
115float(1)
116
117-- Iteration : -1.0 --
118float(-1)
119
120-- Iteration : 1.234 --
121float(1.234)
122
123-- Iteration : -1.234 --
124float(-1.234)
125
126-- Iteration : 1.2e3 --
127float(1200)
128
129-- Iteration : -1.2e3 --
130float(-1200)
131
132-- Iteration : 10.0000000000000000005 --
133float(10)
134
135-- Iteration : 10.5e+5 --
136float(1050000)
137
138-- Iteration : 1e5 --
139float(1.0E-5)
140
141-- Iteration : -1e5 --
142float(-100000)
143
144-- Iteration : -1e-1 --
145float(-0.1)
146
147-- Iteration : 1e+5 --
148float(100000)
149
150-- Iteration : -1e+5 --
151float(-100000)
152
153-- Iteration : 1E5 --
154float(100000)
155
156-- Iteration : -1E5 --
157float(-100000)
158
159-- Iteration : 1E+5 --
160float(100000)
161
162-- Iteration : .5e+7 --
163float(5000000)
164
165-- Iteration : -.5e+7 --
166float(-5000000)
167