[英]Numbers with leading zeros in Javascript
我从后端收到了很长的XML。 为了进一步使用xml,我使用标准XMLtoJSON javascript库之一将其转换为JSON对象。 问题是,某些XML值包含带有前导零的数字,例如:001072。
问题是,当javascript库将xml转换为JSON时,带前导零的数字会给出完全不同的值。
例如
“ 001072”转换为“ 570”
其他时候它会正确解析它。 例如:
“ 0045678”转换为45678
问题是javascript如何处理带有零的数字。 我不知道这种奇怪行为的原因!
请提出一个可以一致地解析数字为零的解决方案,以及如何与xmltojson库一起使用
以零开头的八进制数字即将淘汰。 对于ECMAScript5,它们仍然可能导致问题,因此在strict mode
是不允许的,并且会引发运行时错误。 您真的不应该使用非严格模式下的第三方脚本,它们由于多种原因而很危险,如八进制数字的处理所见。
随着ECMAScript 6越来越广泛地传播,使用前导零将被一起推出。
八进制字面量将带有'0o'前缀0o10 === 8
可以是大写的'o',但我敢肯定,您会发现这将是一件麻烦事。 ES6还将用前缀0b1000 === 8
形式化二进制格式,尽管大多数浏览器已经支持了一段时间。 十六进制也已经存在了一段时间0x08 == 8
一些带有前导零的数字是decmil,而某些八进制的原因取决于数字中的数字。 八进制不使用数字8和9,因此具有这些数字的任何数字都不能为八进制。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.