double_to_string.phpt 985 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. --TEST--
  2. double to string conversion tests
  3. --INI--
  4. precision=14
  5. --SKIPIF--
  6. <?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
  7. --FILE--
  8. <?php
  9. $doubles = array(
  10. 290000000000000000,
  11. 290000000000000,
  12. 29000000000000,
  13. 29000000000000.123123,
  14. 29000000000000.7123123,
  15. 29000.7123123,
  16. 239234242.7123123,
  17. 0.12345678901234567890,
  18. 10000000000000,
  19. 100000000000000,
  20. 1000000000000000001,
  21. 100000000000001,
  22. 10000000000,
  23. 999999999999999,
  24. 9999999999999999,
  25. (float)0
  26. );
  27. foreach ($doubles as $d) {
  28. var_dump((string)$d);
  29. }
  30. echo "Done\n";
  31. ?>
  32. --EXPECTF--
  33. string(7) "2.9E+17"
  34. string(7) "2.9E+14"
  35. string(%d) "2%s"
  36. string(%d) "2%s"
  37. string(%d) "29%d"
  38. string(13) "29000.7123123"
  39. string(15) "239234242.71231"
  40. string(16) "0.12345678901235"
  41. string(14) "10000000000000"
  42. string(7) "1.0E+14"
  43. string(7) "1.0E+18"
  44. string(7) "1.0E+14"
  45. string(11) "10000000000"
  46. string(7) "1.0E+15"
  47. string(7) "1.0E+16"
  48. string(1) "0"
  49. Done