toString.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. runTest('new Number("444" + "123")');
  6. runTest('new Number(-444123)');
  7. runTest('new Number("444" + "123.789123456789875436")');
  8. runTest('new Number(-444123.78963636363636363636)');
  9. runTest('new Number(0)');
  10. runTest('1e21');
  11. function runTest(numberToTestAsString)
  12. {
  13. writeLine("Test: " + numberToTestAsString);
  14. var n = eval(numberToTestAsString + ";");
  15. writeLine("n.toString(): " + n.toString());
  16. writeLine("n.toString(10): " + n.toString(10));
  17. writeLine("n.toString(8): " + n.toString(8));
  18. writeLine("n.toString(2): " + n.toString(2));
  19. writeLine("n.toString(16): " + n.toString(16));
  20. writeLine("n.toString(25): " + n.toString(25));
  21. writeLine("n.toFixed(): " + n.toFixed());
  22. writeLine("n.toFixed(0): " + n.toFixed(0));
  23. writeLine("n.toFixed(2): " + n.toFixed(2));
  24. writeLine("n.toFixed(5): " + n.toFixed(5));
  25. writeLine("n.toFixed(20): " + n.toFixed(20));
  26. safeCall(function () { n.toFixed(-1); });
  27. safeCall(function () { n.toFixed(21); });
  28. writeLine("n.toExponential(): " + n.toExponential());
  29. writeLine("n.toExponential(2): " + n.toExponential(2));
  30. writeLine("n.toExponential(5): " + n.toExponential(5));
  31. writeLine("n.toPrecision(): " + n.toPrecision());
  32. writeLine("n.toPrecision(2): " + n.toPrecision(2));
  33. writeLine("n.toPrecision(5): " + n.toPrecision(5));
  34. writeLine("n.toPrecision(20): " + n.toPrecision(20));
  35. writeLine("");
  36. }
  37. // Helpers
  38. function writeLine(str)
  39. {
  40. WScript.Echo("" + str);
  41. }
  42. function safeCall(func)
  43. {
  44. try
  45. {
  46. return func();
  47. }
  48. catch (ex)
  49. {
  50. writeLine(ex.name + ": " + ex.message);
  51. }
  52. }