将字符串转换为数字而不丢失前导零
Convert String to a number without losing leading zeroes
我正在创建一个使用 OMDB API 搜索电影并显示它们的小项目。但是,每当我想显示有关标题的详细信息时,我需要将我尝试访问的标题的 IMDB ID 以 ttXXXXXXX
的形式发送到 API,其中 'X' 是指到一个整数 ID。
但是,当我尝试搜索在其 IMDB ID 中具有前导零的标题时出现问题(例如 tt0284753
即 "Lippy the Lion and Hardy Har Har") ,因为 JavaScript parseInt()
方法删除了前导零,而 API 需要整数形式的 IMDB ID(也许它在后台执行 RegEx 以从中删除前导 "tt"s URL 字符串(或其他)。
目前我的实现是这样的:
//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,因此最终它是一个字符串。不需要将其解析为整数。
号码没有 "leading zeros"。他们只有一个价值。 数字的文本表示 可能有前导零。
简单地将其保留为字符串,并且(或两者):
允许 Javascript 在数字上下文中使用时将其强制转换为数字或...
需要为数字时显式强制转换为数字
我正在创建一个使用 OMDB API 搜索电影并显示它们的小项目。但是,每当我想显示有关标题的详细信息时,我需要将我尝试访问的标题的 IMDB ID 以 ttXXXXXXX
的形式发送到 API,其中 'X' 是指到一个整数 ID。
但是,当我尝试搜索在其 IMDB ID 中具有前导零的标题时出现问题(例如 tt0284753
即 "Lippy the Lion and Hardy Har Har") ,因为 JavaScript parseInt()
方法删除了前导零,而 API 需要整数形式的 IMDB ID(也许它在后台执行 RegEx 以从中删除前导 "tt"s URL 字符串(或其他)。
目前我的实现是这样的:
//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,因此最终它是一个字符串。不需要将其解析为整数。
号码没有 "leading zeros"。他们只有一个价值。 数字的文本表示 可能有前导零。
简单地将其保留为字符串,并且(或两者):
允许 Javascript 在数字上下文中使用时将其强制转换为数字或...
需要为数字时显式强制转换为数字