gpt4 book ai didi

javascript - 使用 parseInt 和基数用 javascript 解析整数

转载 作者:行者123 更新时间:2023-11-30 11:38:02 24 4
gpt4 key购买 nike

我正在进行在线测试,它要求我编写基本的 javascript 代码。

它要求我解析数字字符串并将其转换为不同基数的数字。如果由于某种原因无法完成转换,它需要我返回 -1。

我是这样写的:

function convert(strNumber, radix) {
var result = parseInt(strNumber, radix);
if(isNaN(result))
{return -1;}
return result;
}

然后它通过各种测试运行我的代码并全部通过。除了一个。

显然 convert("ASD", 15) 根据测试应该是无效的,它期望它是 -1。但是 Javascript 很乐意将它转换为数字 10

我尝试了各种方法,例如添加 try{}catch{} block 和其他方法,但 javascript 从不提示将“ASD”转换为基数 15。

是测试错了,还是parseInt错了?

顺便说一句,strNumber 可以是 36 以下的任何基数。例如:

convert("Z", 36) is 35

最佳答案

正如我在评论中所述,parseInt 将转换到失败的程度。因此,“A”在该基数中有效,而“S”则无效。所以你需要添加一张支票。

var nums = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".substr(0, radix)
var re = new RegExp("^[" + nums + "]+$","i")
if (!re.test(strNumber)) {
return -1
}

关于javascript - 使用 parseInt 和基数用 javascript 解析整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43662830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com