Javascript将我的php var 0000001000变为512

时间:2013-01-15 16:42:29

标签: javascript string int

<a href='javascript:void(0)' onclick='show($ID);'>ID</a>

我的$ ID是0000001000。

我的show()函数得到的是512而不是0000001000

我已经尝试使用String()和.toString()将$ ID转换为字符串,但我仍然做一个警告()它返回512。

我读了一些关于八进制模式的内容。我该如何预防或纠正这个?

我希望我的功能读取0000001000

3 个答案:

答案 0 :(得分:3)

您应该将其作为字符串传递:

echo "<a href='javascript:void(0)' onclick='show(\"" . $ID . "\");'>ID</a>";

否则,它会自动从八进制转换为十进制表示法oct(1000) === dec(512)

答案 1 :(得分:1)

当你将它传递给你的show函数时,0000001000被解释为八进制(归功于@Oscar Lopaz)(512)。尝试将其作为字符串传递:

<a href="javascript:void(0)" onclick="show('" + $ID + "');">ID</a>

答案 2 :(得分:1)

在Javascript中,以零开头的数字被视为八进制(非二进制!)。八进制1000 =十进制512。您应该将值作为字符串处理以避免此类问题。