Javascript 将字符串转换为数字而不丢失前导零

Javascript 将字符串转换为数字而不丢失前导零,javascript,node.js,string,integer,omdbapi,Javascript,Node.js,String,Integer,Omdbapi,我正在创建一个小项目,它使用OMDB API搜索并显示电影。但是,每当我想显示标题的详细信息时,我都需要以ttXXXXXXX的形式发送我试图访问API的标题的IMDB ID,其中“X”表示整数ID 但是,当我尝试搜索IMDB ID中有前导零的标题时,问题就出现了(例如tt0284753,它是“Lippy the Lion and Hardy Har”),因为JavaScriptparseInt()方法删除前导零,API需要整数形式的IMDB ID(可能它在后台执行正则表达式,以从URL字符串(或

我正在创建一个小项目,它使用OMDB API搜索并显示电影。但是,每当我想显示标题的详细信息时,我都需要以
ttXXXXXXX
的形式发送我试图访问API的标题的IMDB ID,其中“X”表示整数ID

但是,当我尝试搜索IMDB ID中有前导零的标题时,问题就出现了(例如
tt0284753
,它是“Lippy the Lion and Hardy Har”),因为JavaScript
parseInt()
方法删除前导零,API需要整数形式的IMDB ID(可能它在后台执行正则表达式,以从URL字符串(或其他任何内容)中删除前导的“tt”)

目前,我的实现是这样的:

//Show route
app.get("/results/:id",(req,res)=>{
    let strID = req.params.id;
    let imdbID = parseInt(strID.substr(2));
    let url = `http://omdbapi.com/?i=tt${imdbID}&apikey=${apikey}`;
    request(url,(error,response,body)=>{
        if(!error && response.statusCode == 200){
            let movie = JSON.parse(body);
            res.render("details",{movie:movie,url:url});
        }
    })

});

您正在模板字符串中使用ID,因此最终它是一个字符串。无需将其解析为和整数。

数字没有“前导零”。它们只有一个值。数字的文本表示形式可能有前导零

简单地将其保留为字符串,并选择其中一个(或两个):

  • 允许Javascript在数字上下文中使用时将其强制为数字或

  • 当它需要是一个数字时,显式将其强制为一个数字


这能回答你的问题吗?不,说实话。不过,不管怎样,这是一个小而简单的修复。我很愚蠢。这很奇怪。它确实有效!所以基本上,这与
让imdbID=req.params.id;
并将URL设置为
http://omdbapi.com/?i=${imdbID}&apikey=${apikey}
;但我上次尝试时,它实际上不起作用?因此我不得不采用这种奇怪的解决方法。好吧,现在我疯了。