parseFloat.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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. function verify(x,y)
  6. {
  7. if(x != y)
  8. {
  9. WScript.Echo("ERROR: " + x + " != " + y );
  10. }
  11. else
  12. {
  13. WScript.Echo(x + " == " + y);
  14. }
  15. }
  16. WScript.Echo(parseFloat());
  17. WScript.Echo(parseFloat("a"));
  18. WScript.Echo(parseFloat("o12345"));
  19. WScript.Echo(parseFloat("e10"));
  20. WScript.Echo(parseFloat("+b"));
  21. verify(0, parseFloat("0"));
  22. verify(0, parseFloat("-0"));
  23. verify(0, parseFloat(0));
  24. verify(0, parseFloat(-0)); // -0 to "0" to 0
  25. // Verify again with 1 / 0 because 0 === -0 and we want to make sure that the sign is correct
  26. verify(1 / 0, 1 / parseFloat("0"));
  27. verify(1 / -0, 1 / parseFloat("-0"));
  28. verify(1 / 0, 1 / parseFloat(0));
  29. verify(1 / 0, 1 / parseFloat(-0)); // 1 / (-0 to "0" to 0) == +Infinity
  30. verify(17.3, parseFloat(new String("17.3")));
  31. verify(17.3, parseFloat(new Number(17.3)));
  32. verify(0,parseFloat("\n\r\n\r\t\t\t0"));
  33. verify(1,parseFloat(" 1"));
  34. verify(-1,parseFloat(" -1"));
  35. verify(15, parseFloat(" 15 ", 1, 1, 1, 1, 1));
  36. verify(3.14159, parseFloat("+.0000314159e5"));
  37. verify(3.14159, parseFloat("314159e-5"));
  38. verify(12345.67, parseFloat("+12345.67"));
  39. verify(-12345.67, parseFloat("-12345.67"));
  40. verify(1.7976931348623158e+308, parseFloat("1.7976931348623158e+308"));
  41. verify(2.2250738585072014e-308, parseFloat("2.2250738585072014e-308"));
  42. verify(-1.7976931348623158e+308, parseFloat("-1.7976931348623158e+308"));
  43. verify(-2.2250738585072014e-308, parseFloat("-2.2250738585072014e-308"));
  44. verify(8128, parseFloat(parseFloat(parseFloat(".8128e+00004"))));