Annotation of embedaddon/php/ext/standard/tests/general_functions/floatval.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Testing floatval() and its alias doubleval() Functions
3: --FILE--
4: <?php
5: /* Prototype: float floatval( mixed $var );
6: * Description: Returns the float value of var.
7: */
8:
9: echo "*** Testing floatval() with valid float values ***\n";
10: // different valid float values
11: $valid_floats = array(
12: 0.0,
13: 1.0,
14: -1.0,
15: 1.234,
16: -1.234,
17: 1.2e3,
18: -1.2e3,
19: 10.0000000000000000005,
20: 10.5e+5,
21: 1e5,
22: -1e5,
23: 1e-5,
24: -1e-1,
25: 1e+5,
26: -1e+5,
27: 1E5,
28: -1E5,
29: 1E+5,
30: -1E+5,
31: .5e+7,
32: -.5e+7
33: );
34:
35: /* loop to check that floatval() recognizes different
36: float values, expected output:float value for valid floating point number */
37:
38: foreach ($valid_floats as $value ) {
39: var_dump( floatval($value) );
40: }
41:
42:
43: echo "\n*** Testing doubleval() with valid float values ***\n";
44: /* loop to check that doubleval() also recognizes different
45: float values, expected output:float value for valid floating point number */
46:
47: foreach ($valid_floats as $value ) {
48: var_dump( doubleval($value) );
49: }
50:
51:
52: echo "\n*** Testing floatval() on non floating types ***\n";
53:
54: // get a resource type variable
55: $fp = fopen (__FILE__, "r");
56: fclose($fp);
57: $dfp = opendir ( dirname(__FILE__) );
58: closedir($dfp);
59:
60: // other types in an array
61: $not_float_types = array (
62: -2147483648, // max negative integer value
63: 2147483648, // max positive integer value
64: $fp, // resource
65: $dfp,
66: "0.0", // string
67: "1.0",
68: "-1.3e3",
69: "bob-1.3e3",
70: "10 Some dollars",
71: "10.2 Some Dollars",
72: "10.0 dollar" + 1,
73: "10.0 dollar" + 1.0,
74: "",
75: true,
76: NULL,
77: null,
78: );
79: /* loop through the $not_float_types to see working of
80: floatval() on non float types, expected output: float value valid floating point numbers */
81: foreach ($not_float_types as $type ) {
82: var_dump( floatval($type) );
83: }
84:
85:
86: echo "\n*** Testing doubleval() on non floating types ***\n";
87:
88: /* loop through the $not_float_types to see working of
89: doubleval() on non float types, expected output: float value valid floating point numbers */
90: foreach ($not_float_types as $type ) {
91: var_dump( doubleval($type) );
92: }
93:
94:
95:
96:
97: echo "\n*** Testing error conditions ***\n";
98: //Zero argument
99: var_dump( floatval() );
100: var_dump( doubleval() );
101:
102: //arguments more than expected
103: var_dump( floatval(TRUE, FALSE) );
104: var_dump( doubleval(TRUE, FALSE) );
105:
106: echo "\nDone\n";
107:
108:
109: ?>
110: --EXPECTF--
111: *** Testing floatval() with valid float values ***
112: float(0)
113: float(1)
114: float(-1)
115: float(1.234)
116: float(-1.234)
117: float(1200)
118: float(-1200)
119: float(10)
120: float(1050000)
121: float(100000)
122: float(-100000)
123: float(1.0E-5)
124: float(-0.1)
125: float(100000)
126: float(-100000)
127: float(100000)
128: float(-100000)
129: float(100000)
130: float(-100000)
131: float(5000000)
132: float(-5000000)
133:
134: *** Testing doubleval() with valid float values ***
135: float(0)
136: float(1)
137: float(-1)
138: float(1.234)
139: float(-1.234)
140: float(1200)
141: float(-1200)
142: float(10)
143: float(1050000)
144: float(100000)
145: float(-100000)
146: float(1.0E-5)
147: float(-0.1)
148: float(100000)
149: float(-100000)
150: float(100000)
151: float(-100000)
152: float(100000)
153: float(-100000)
154: float(5000000)
155: float(-5000000)
156:
157: *** Testing floatval() on non floating types ***
158: float(-2147483648)
159: float(2147483648)
160: float(5)
161: float(6)
162: float(0)
163: float(1)
164: float(-1300)
165: float(0)
166: float(10)
167: float(10.2)
168: float(11)
169: float(11)
170: float(0)
171: float(1)
172: float(0)
173: float(0)
174:
175: *** Testing doubleval() on non floating types ***
176: float(-2147483648)
177: float(2147483648)
178: float(5)
179: float(6)
180: float(0)
181: float(1)
182: float(-1300)
183: float(0)
184: float(10)
185: float(10.2)
186: float(11)
187: float(11)
188: float(0)
189: float(1)
190: float(0)
191: float(0)
192:
193: *** Testing error conditions ***
194:
195: Warning: floatval() expects exactly 1 parameter, 0 given in %s on line %d
196: NULL
197:
198: Warning: doubleval() expects exactly 1 parameter, 0 given in %s on line %d
199: NULL
200:
201: Warning: floatval() expects exactly 1 parameter, 2 given in %s on line %d
202: NULL
203:
204: Warning: doubleval() expects exactly 1 parameter, 2 given in %s on line %d
205: NULL
206:
207: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>