Javascript从数字中删除十进制

时间:2012-12-12 20:49:37

标签: javascript jquery string decimal strip

我正在使用Math.random生成在ajax调用中传递的随机字符串。问题是生成的字符串包含一个小数,服务器将其解释为file.ext(当然不存在)。

来自http.log:

File does not exist: /path/to/site/foo.php&arg=123&randval=0.5678719817071954, referer: http://site/bar.php?arg=123

用于生成链接的Ajax:

$(document).ready(function() 
{
    $(\"#placeholder\").load(\"/foo.php?arg=123\");
    var refreshId = setInterval(function() 
    {
        $(\"#placeholder\").load('/foo.php?arg=123&randval='+ Math.random());
    }, 5000);
    $.ajaxSetup({ cache: false });
});

我最终想要的是:

foo.php&arg=123&randval=05678719817071954

除了确保我没有使用页面的缓存版本之外,不使用参数randval。它可能不需要,但这是我用来设置jquery ajax调用的一个例子。

5 个答案:

答案 0 :(得分:1)

我建议代替Math.random()使用:

(Math.random() + '').replace('.','');

答案 1 :(得分:1)

Math.random()返回01之间的值,以获取0max之间的数字,您需要将其乘以max 。这应该做:

Math.floor(Math.random() * 1e16) // 1e16 == 10000000000000000

答案 2 :(得分:0)

如果您不需要使用Math.random()

,可能更容易也更常见
 + (new Date()).getTime();

答案 3 :(得分:0)

为什么不使用new Date().getTime()并避免所有麻烦

答案 4 :(得分:0)

其他答案是正确的 - 但我在代码中忽略了一个明显的类型o。我写的链接:

foo.php&arg=123

应该是

foo.php?ARG = 123

enter code here

更新后,找不到文件错误。

感谢有关修复数学/小数问题的建议 - 现在不需要,但有用的知识。