round_basic.phpt 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. --TEST--
  2. Test round() - basic function test for round()
  3. --INI--
  4. precision=14
  5. --FILE--
  6. <?php
  7. echo "*** Testing round() : basic functionality ***\n";
  8. $values = array(123456789,
  9. 123.456789,
  10. -4.5679123,
  11. 1.23E4,
  12. -4.567E3,
  13. 0x234567,
  14. 067777777,
  15. "1.234567",
  16. "2.3456789e8");
  17. $precision = array(2,
  18. 8,
  19. 0x3,
  20. 04,
  21. 3.6,
  22. "2",
  23. "04",
  24. "3.6",
  25. "2.1e1",
  26. true,
  27. false);
  28. for ($i = 0; $i < count($values); $i++) {
  29. echo "round: $values[$i]\n";
  30. for ($j = 0; $j < count($precision); $j++) {
  31. $res = round($values[$i], $precision[$j]);
  32. echo "...with precision $precision[$j]-> ";
  33. var_dump($res);
  34. }
  35. }
  36. ?>
  37. --EXPECTF--
  38. *** Testing round() : basic functionality ***
  39. round: 123456789
  40. ...with precision 2-> float(123456789)
  41. ...with precision 8-> float(123456789)
  42. ...with precision 3-> float(123456789)
  43. ...with precision 4-> float(123456789)
  44. Deprecated: Implicit conversion from float 3.6 to int loses precision in %s on line %d
  45. ...with precision 3.6-> float(123456789)
  46. ...with precision 2-> float(123456789)
  47. ...with precision 04-> float(123456789)
  48. Deprecated: Implicit conversion from float-string "3.6" to int loses precision in %s on line %d
  49. ...with precision 3.6-> float(123456789)
  50. ...with precision 2.1e1-> float(123456789)
  51. ...with precision 1-> float(123456789)
  52. ...with precision -> float(123456789)
  53. round: 123.456789
  54. ...with precision 2-> float(123.46)
  55. ...with precision 8-> float(123.456789)
  56. ...with precision 3-> float(123.457)
  57. ...with precision 4-> float(123.4568)
  58. Deprecated: Implicit conversion from float 3.6 to int loses precision in %s on line %d
  59. ...with precision 3.6-> float(123.457)
  60. ...with precision 2-> float(123.46)
  61. ...with precision 04-> float(123.4568)
  62. Deprecated: Implicit conversion from float-string "3.6" to int loses precision in %s on line %d
  63. ...with precision 3.6-> float(123.457)
  64. ...with precision 2.1e1-> float(123.456789)
  65. ...with precision 1-> float(123.5)
  66. ...with precision -> float(123)
  67. round: -4.5679123
  68. ...with precision 2-> float(-4.57)
  69. ...with precision 8-> float(-4.5679123)
  70. ...with precision 3-> float(-4.568)
  71. ...with precision 4-> float(-4.5679)
  72. Deprecated: Implicit conversion from float 3.6 to int loses precision in %s on line %d
  73. ...with precision 3.6-> float(-4.568)
  74. ...with precision 2-> float(-4.57)
  75. ...with precision 04-> float(-4.5679)
  76. Deprecated: Implicit conversion from float-string "3.6" to int loses precision in %s on line %d
  77. ...with precision 3.6-> float(-4.568)
  78. ...with precision 2.1e1-> float(-4.5679123)
  79. ...with precision 1-> float(-4.6)
  80. ...with precision -> float(-5)
  81. round: 12300
  82. ...with precision 2-> float(12300)
  83. ...with precision 8-> float(12300)
  84. ...with precision 3-> float(12300)
  85. ...with precision 4-> float(12300)
  86. Deprecated: Implicit conversion from float 3.6 to int loses precision in %s on line %d
  87. ...with precision 3.6-> float(12300)
  88. ...with precision 2-> float(12300)
  89. ...with precision 04-> float(12300)
  90. Deprecated: Implicit conversion from float-string "3.6" to int loses precision in %s on line %d
  91. ...with precision 3.6-> float(12300)
  92. ...with precision 2.1e1-> float(12300)
  93. ...with precision 1-> float(12300)
  94. ...with precision -> float(12300)
  95. round: -4567
  96. ...with precision 2-> float(-4567)
  97. ...with precision 8-> float(-4567)
  98. ...with precision 3-> float(-4567)
  99. ...with precision 4-> float(-4567)
  100. Deprecated: Implicit conversion from float 3.6 to int loses precision in %s on line %d
  101. ...with precision 3.6-> float(-4567)
  102. ...with precision 2-> float(-4567)
  103. ...with precision 04-> float(-4567)
  104. Deprecated: Implicit conversion from float-string "3.6" to int loses precision in %s on line %d
  105. ...with precision 3.6-> float(-4567)
  106. ...with precision 2.1e1-> float(-4567)
  107. ...with precision 1-> float(-4567)
  108. ...with precision -> float(-4567)
  109. round: 2311527
  110. ...with precision 2-> float(2311527)
  111. ...with precision 8-> float(2311527)
  112. ...with precision 3-> float(2311527)
  113. ...with precision 4-> float(2311527)
  114. Deprecated: Implicit conversion from float 3.6 to int loses precision in %s on line %d
  115. ...with precision 3.6-> float(2311527)
  116. ...with precision 2-> float(2311527)
  117. ...with precision 04-> float(2311527)
  118. Deprecated: Implicit conversion from float-string "3.6" to int loses precision in %s on line %d
  119. ...with precision 3.6-> float(2311527)
  120. ...with precision 2.1e1-> float(2311527)
  121. ...with precision 1-> float(2311527)
  122. ...with precision -> float(2311527)
  123. round: 14680063
  124. ...with precision 2-> float(14680063)
  125. ...with precision 8-> float(14680063)
  126. ...with precision 3-> float(14680063)
  127. ...with precision 4-> float(14680063)
  128. Deprecated: Implicit conversion from float 3.6 to int loses precision in %s on line %d
  129. ...with precision 3.6-> float(14680063)
  130. ...with precision 2-> float(14680063)
  131. ...with precision 04-> float(14680063)
  132. Deprecated: Implicit conversion from float-string "3.6" to int loses precision in %s on line %d
  133. ...with precision 3.6-> float(14680063)
  134. ...with precision 2.1e1-> float(14680063)
  135. ...with precision 1-> float(14680063)
  136. ...with precision -> float(14680063)
  137. round: 1.234567
  138. ...with precision 2-> float(1.23)
  139. ...with precision 8-> float(1.234567)
  140. ...with precision 3-> float(1.235)
  141. ...with precision 4-> float(1.2346)
  142. Deprecated: Implicit conversion from float 3.6 to int loses precision in %s on line %d
  143. ...with precision 3.6-> float(1.235)
  144. ...with precision 2-> float(1.23)
  145. ...with precision 04-> float(1.2346)
  146. Deprecated: Implicit conversion from float-string "3.6" to int loses precision in %s on line %d
  147. ...with precision 3.6-> float(1.235)
  148. ...with precision 2.1e1-> float(1.234567)
  149. ...with precision 1-> float(1.2)
  150. ...with precision -> float(1)
  151. round: 2.3456789e8
  152. ...with precision 2-> float(234567890)
  153. ...with precision 8-> float(234567890)
  154. ...with precision 3-> float(234567890)
  155. ...with precision 4-> float(234567890)
  156. Deprecated: Implicit conversion from float 3.6 to int loses precision in %s on line %d
  157. ...with precision 3.6-> float(234567890)
  158. ...with precision 2-> float(234567890)
  159. ...with precision 04-> float(234567890)
  160. Deprecated: Implicit conversion from float-string "3.6" to int loses precision in %s on line %d
  161. ...with precision 3.6-> float(234567890)
  162. ...with precision 2.1e1-> float(234567890)
  163. ...with precision 1-> float(234567890)
  164. ...with precision -> float(234567890)