我有以下代码:
<a href="javascript:Add(23905762501722146)">Click</a>
function Add(id) {
alert(id);
}
警告中的值是原始值的23905762501722144(-2)。
为什么会这样?
答案 0 :(得分:4)
log2(23905762501722146)〜= 54.408
JavaScript将所有数字(包括整数)存储为双精度浮点数。双精度尾数/有效数包含52位信息,因此一些信息会丢失,存储的数据时间长/精确。
答案 1 :(得分:4)
因为23905762501722144要大表示为整数值...尝试将其作为字符串值发送。