Dav*_*ues 5 javascript numbers
它适用于很多数字类型,但不适用于负数十六进制或二进制。同样,Number(octal)不解析八进制数。
Number("15") === 15; // OK
Number("-15") === -15; // OK
Number("0x10") === 16; // OK
Number("0b10") === 2; // OK
Number("-0x10") === NaN; // FAIL (expect -16)
Number("-0b10") === NaN; // FAIL (expect -2)
Number("0777") === 777; // FAIL (expect 511)
Number("-0777") === -777; // FAIL (expect -511)
Run Code Online (Sandbox Code Playgroud)
问题:如何正确解析所有有效的 Javascript 数字?
编辑A
parseInt()不要帮助我,因为我需要检查每种可能性(例如,如果从0x我使用开始)。16
编辑B
如果我在 Chrome 控制台上写入,0777它会变成511,并且也允许负值。如果我直接写入 JavaScript 代码,甚至可以工作。所以我基本上期望一个像 javascript 解析器一样工作的解析器。但我认为负十六进制,例如, on 确实在0 - Number(hex)解析器中,而不是字面上的Number(-hex)。但八进制值没有意义。
小智 0
它不会解析八进制和其他示例,因为它们不是有效的 Javascript 数字,至少在Number. 所以技术上正确的答案是:使用Number!
如果你想解析其他格式,那么你可以使用parseInt,但你必须提供基础。
| 归档时间: |
|
| 查看次数: |
3019 次 |
| 最近记录: |