sprintf_variation47.phpt 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. --TEST--
  2. Test sprintf() function : usage variations - scientific formats with float values
  3. --FILE--
  4. <?php
  5. echo "*** Testing sprintf() : scientific formats with float values ***\n";
  6. // array of float values
  7. $float_values = array(
  8. -2147483649,
  9. 2147483648,
  10. -0x80000001, // float value, beyond max negative int
  11. 0x800000001, // float value, beyond max positive int
  12. 020000000001, // float value, beyond max positive int
  13. -020000000001, // float value, beyond max negative int
  14. 0.0,
  15. -0.1,
  16. 1.0,
  17. 1e5,
  18. -1e5,
  19. -1e5,
  20. +1e5,
  21. 1e+5,
  22. -1e-5,
  23. 1E8,
  24. -1E9,
  25. 10.0000000000000000005,
  26. 10.5e+5
  27. );
  28. // array of scientific formats
  29. $scientific_formats = array(
  30. "%e", "%le", " %e", "%e ",
  31. "\t%e", "\n%e", "%4e", "%30e",
  32. );
  33. $count = 1;
  34. foreach($float_values as $float_value) {
  35. echo "\n-- Iteration $count --\n";
  36. foreach($scientific_formats as $format) {
  37. var_dump( sprintf($format, $float_value) );
  38. }
  39. $count++;
  40. };
  41. echo "Done";
  42. ?>
  43. --EXPECT--
  44. *** Testing sprintf() : scientific formats with float values ***
  45. -- Iteration 1 --
  46. string(12) "-2.147484e+9"
  47. string(12) "-2.147484e+9"
  48. string(13) " -2.147484e+9"
  49. string(13) "-2.147484e+9 "
  50. string(13) " -2.147484e+9"
  51. string(13) "
  52. -2.147484e+9"
  53. string(12) "-2.147484e+9"
  54. string(30) " -2.147484e+9"
  55. -- Iteration 2 --
  56. string(11) "2.147484e+9"
  57. string(11) "2.147484e+9"
  58. string(12) " 2.147484e+9"
  59. string(12) "2.147484e+9 "
  60. string(12) " 2.147484e+9"
  61. string(12) "
  62. 2.147484e+9"
  63. string(11) "2.147484e+9"
  64. string(30) " 2.147484e+9"
  65. -- Iteration 3 --
  66. string(12) "-2.147484e+9"
  67. string(12) "-2.147484e+9"
  68. string(13) " -2.147484e+9"
  69. string(13) "-2.147484e+9 "
  70. string(13) " -2.147484e+9"
  71. string(13) "
  72. -2.147484e+9"
  73. string(12) "-2.147484e+9"
  74. string(30) " -2.147484e+9"
  75. -- Iteration 4 --
  76. string(12) "3.435974e+10"
  77. string(12) "3.435974e+10"
  78. string(13) " 3.435974e+10"
  79. string(13) "3.435974e+10 "
  80. string(13) " 3.435974e+10"
  81. string(13) "
  82. 3.435974e+10"
  83. string(12) "3.435974e+10"
  84. string(30) " 3.435974e+10"
  85. -- Iteration 5 --
  86. string(11) "2.147484e+9"
  87. string(11) "2.147484e+9"
  88. string(12) " 2.147484e+9"
  89. string(12) "2.147484e+9 "
  90. string(12) " 2.147484e+9"
  91. string(12) "
  92. 2.147484e+9"
  93. string(11) "2.147484e+9"
  94. string(30) " 2.147484e+9"
  95. -- Iteration 6 --
  96. string(12) "-2.147484e+9"
  97. string(12) "-2.147484e+9"
  98. string(13) " -2.147484e+9"
  99. string(13) "-2.147484e+9 "
  100. string(13) " -2.147484e+9"
  101. string(13) "
  102. -2.147484e+9"
  103. string(12) "-2.147484e+9"
  104. string(30) " -2.147484e+9"
  105. -- Iteration 7 --
  106. string(11) "0.000000e+0"
  107. string(11) "0.000000e+0"
  108. string(12) " 0.000000e+0"
  109. string(12) "0.000000e+0 "
  110. string(12) " 0.000000e+0"
  111. string(12) "
  112. 0.000000e+0"
  113. string(11) "0.000000e+0"
  114. string(30) " 0.000000e+0"
  115. -- Iteration 8 --
  116. string(12) "-1.000000e-1"
  117. string(12) "-1.000000e-1"
  118. string(13) " -1.000000e-1"
  119. string(13) "-1.000000e-1 "
  120. string(13) " -1.000000e-1"
  121. string(13) "
  122. -1.000000e-1"
  123. string(12) "-1.000000e-1"
  124. string(30) " -1.000000e-1"
  125. -- Iteration 9 --
  126. string(11) "1.000000e+0"
  127. string(11) "1.000000e+0"
  128. string(12) " 1.000000e+0"
  129. string(12) "1.000000e+0 "
  130. string(12) " 1.000000e+0"
  131. string(12) "
  132. 1.000000e+0"
  133. string(11) "1.000000e+0"
  134. string(30) " 1.000000e+0"
  135. -- Iteration 10 --
  136. string(11) "1.000000e+5"
  137. string(11) "1.000000e+5"
  138. string(12) " 1.000000e+5"
  139. string(12) "1.000000e+5 "
  140. string(12) " 1.000000e+5"
  141. string(12) "
  142. 1.000000e+5"
  143. string(11) "1.000000e+5"
  144. string(30) " 1.000000e+5"
  145. -- Iteration 11 --
  146. string(12) "-1.000000e+5"
  147. string(12) "-1.000000e+5"
  148. string(13) " -1.000000e+5"
  149. string(13) "-1.000000e+5 "
  150. string(13) " -1.000000e+5"
  151. string(13) "
  152. -1.000000e+5"
  153. string(12) "-1.000000e+5"
  154. string(30) " -1.000000e+5"
  155. -- Iteration 12 --
  156. string(12) "-1.000000e+5"
  157. string(12) "-1.000000e+5"
  158. string(13) " -1.000000e+5"
  159. string(13) "-1.000000e+5 "
  160. string(13) " -1.000000e+5"
  161. string(13) "
  162. -1.000000e+5"
  163. string(12) "-1.000000e+5"
  164. string(30) " -1.000000e+5"
  165. -- Iteration 13 --
  166. string(11) "1.000000e+5"
  167. string(11) "1.000000e+5"
  168. string(12) " 1.000000e+5"
  169. string(12) "1.000000e+5 "
  170. string(12) " 1.000000e+5"
  171. string(12) "
  172. 1.000000e+5"
  173. string(11) "1.000000e+5"
  174. string(30) " 1.000000e+5"
  175. -- Iteration 14 --
  176. string(11) "1.000000e+5"
  177. string(11) "1.000000e+5"
  178. string(12) " 1.000000e+5"
  179. string(12) "1.000000e+5 "
  180. string(12) " 1.000000e+5"
  181. string(12) "
  182. 1.000000e+5"
  183. string(11) "1.000000e+5"
  184. string(30) " 1.000000e+5"
  185. -- Iteration 15 --
  186. string(12) "-1.000000e-5"
  187. string(12) "-1.000000e-5"
  188. string(13) " -1.000000e-5"
  189. string(13) "-1.000000e-5 "
  190. string(13) " -1.000000e-5"
  191. string(13) "
  192. -1.000000e-5"
  193. string(12) "-1.000000e-5"
  194. string(30) " -1.000000e-5"
  195. -- Iteration 16 --
  196. string(11) "1.000000e+8"
  197. string(11) "1.000000e+8"
  198. string(12) " 1.000000e+8"
  199. string(12) "1.000000e+8 "
  200. string(12) " 1.000000e+8"
  201. string(12) "
  202. 1.000000e+8"
  203. string(11) "1.000000e+8"
  204. string(30) " 1.000000e+8"
  205. -- Iteration 17 --
  206. string(12) "-1.000000e+9"
  207. string(12) "-1.000000e+9"
  208. string(13) " -1.000000e+9"
  209. string(13) "-1.000000e+9 "
  210. string(13) " -1.000000e+9"
  211. string(13) "
  212. -1.000000e+9"
  213. string(12) "-1.000000e+9"
  214. string(30) " -1.000000e+9"
  215. -- Iteration 18 --
  216. string(11) "1.000000e+1"
  217. string(11) "1.000000e+1"
  218. string(12) " 1.000000e+1"
  219. string(12) "1.000000e+1 "
  220. string(12) " 1.000000e+1"
  221. string(12) "
  222. 1.000000e+1"
  223. string(11) "1.000000e+1"
  224. string(30) " 1.000000e+1"
  225. -- Iteration 19 --
  226. string(11) "1.050000e+6"
  227. string(11) "1.050000e+6"
  228. string(12) " 1.050000e+6"
  229. string(12) "1.050000e+6 "
  230. string(12) " 1.050000e+6"
  231. string(12) "
  232. 1.050000e+6"
  233. string(11) "1.050000e+6"
  234. string(30) " 1.050000e+6"
  235. Done