首页 > 解决方案 > 将字符串转换为数字而不丢失前导零

问题描述

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

tt0284753但是,当我尝试搜索其 IMDB ID中有前导零的标题时出现问题(例如“Lippy the Lion and Hardy Har Har”),因为 JavaScriptparseInt()方法删除了前导零,并且 API 需要 IMDB ID以整数形式(也许它在后台执行 RegEx 以从 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});
        }
    })

});

标签: javascriptnode.jsstringintegeromdbapi

解决方案


您在模板字符串中使用 ID,所以最后它是一个字符串。不需要将其解析为整数。


推荐阅读