如何在JavaScript中反转负数?
我试图以这种方式获得输出,不幸的是,它没有返回预期值如何在JavaScript中反转负数?,javascript,loops,for-loop,foreach,Javascript,Loops,For Loop,Foreach,我试图以这种方式获得输出,不幸的是,它没有返回预期值 函数反向输入(int){ 让intRev=“”; 对于(设i=0;i),您的基本逻辑是正确的,但您需要处理正整数输入和负整数输入之间的差异。对于负整数输入,您需要在第二个字符上开始构建反转字符串。此外,在返回反转负数字符串时,还需要预加负号 函数反向输入(int){ 让intRev=“”; 让start=int0;i--){ intRev=intRev+int[i]; } 返回intRev; }跳过减号,最后加上它,得到类似-54321的
函数反向输入(int){
让intRev=“”;
对于(设i=0;i),您的基本逻辑是正确的,但您需要处理正整数输入和负整数输入之间的差异。对于负整数输入,您需要在第二个字符上开始构建反转字符串。此外,在返回反转负数字符串时,还需要预加负号
函数反向输入(int){
让intRev=“”;
让start=int<0?1:0;
对于(让我=开始;我使用
功能反转(编号){
让intRev=“”;
设len=number.toString().length;
对于(设i=leni>0;i--){
intRev=intRev+int[i];
}
返回intRev;
}
跳过减号,最后加上它,得到类似-54321的结果
例如:
function reverseInt(int){
let intRev ="";
for(let i= 1; i<int.length; i++){
intRev = int[i]+intRev ;
}
intRev ='-'+intRev;
return intRev ;
}
console.log(reverseInt("-12345"));
函数反向输入(int){
让intRev=“”;
对于(设i=1;i一个完成此任务的简短函数:)
享受
函数反向输入(int){
常量符号=int.match('-')?'-':'';
返回符号+Math.abs(int).toString().split(“”).reverse().join(“”);
}
log(reverseInt(“-12345”);
希望它将返回您期望的输出
函数反向输入(int){
const intRev=int.toString().split(“”).reverse().join(“”);
返回parseInt(intRev)*数学符号(int);
}
警报(reverseInt(“-12345”);
如果您想使用纯数学解,那么它应该是这样的:
从数字中删除最后一个数字,并将其附加到数字的末尾
反转数字变量,直到原始数字消失且
反向编号已完成
代码:
这可能有点过分了,但我是如何反转int的
将参数转换为字符串,使用字符串reverse func并加入数组。若要检查参数是正的还是负的,请检查Math.sign()返回的内容。有一些快捷方式可以将反向项转换回int。这可以扩展为检查int是否为0,例如,它不是防弹的。
.
功能反转(int){
设r=(Math.sign(int)>0)?+[…Array.from(int.toString()).reverse()]连接(“”):-Math.abs([…Array.from(int.toString()).reverse())。连接(“”)。替换(‘-’,“”));
返回r
}
console.log(reverse(-123))
期望值应该是什么?它应该返回-54321可能重复的否,它与您提到的不同。@JasminMistry当存在其他有效答案时,请不要要求绿色复选标记。顺便问一下,您是对我的答案投了否决票的人吗?
function reverseInt(int){
let intRev ="";
for(let i= 1; i<int.length; i++){
intRev = int[i]+intRev ;
}
intRev ='-'+intRev;
return intRev ;
}
console.log(reverseInt("-12345"));
var reverse = function(x) {
let reverse = 0;
let sign = Math.sign(x);
if (sign === -1) {
x = x*sign;
}
while (x > 0) {
reverse = (reverse * 10) + (x%10);
x = parseInt(x/10, 10);
}
return reverse * sign;
};