toNumber.js (751B)
1 function toLatin1(s) { 2 assertEq(isLatin1(s), true); 3 return s; 4 } 5 function testToNumber() { 6 // Latin1 7 assertEq(+toLatin1("12345.6"), 12345.6); 8 assertEq(+toLatin1("+123"), 123); 9 assertEq(+toLatin1("0xABC"), 0xABC); 10 assertEq(+toLatin1("112."), 112); 11 assertEq(+toLatin1("112.A"), NaN); 12 assertEq(+toLatin1("-Infinity"), -Infinity); 13 14 // TwoByte 15 function twoByte(s) { 16 s = "\u1200" + s; 17 s = s.substr(1); 18 assertEq(isLatin1(s), false); 19 return s; 20 } 21 assertEq(+twoByte("12345.6"), 12345.6); 22 assertEq(+twoByte("+123"), 123); 23 assertEq(+twoByte("0xABC"), 0xABC); 24 assertEq(+twoByte("112."), 112); 25 assertEq(+twoByte("112.A"), NaN); 26 assertEq(+twoByte("-Infinity"), -Infinity); 27 } 28 testToNumber();