Javascript 不使用反转功能反转数字
我需要在JavaScript中反转一个数字,但我不知道为什么下面的代码会进入无限循环Javascript 不使用反转功能反转数字,javascript,reverse,Javascript,Reverse,我需要在JavaScript中反转一个数字,但我不知道为什么下面的代码会进入无限循环 var num=1234; var reverse=0; while(num!=0) { reverse=reverse*10; reverse=reverse+(num%10); num=num/10; } console.log(reverse); 我希望输出为4321,但实际输出是一个无限循环操作num=num/10需要一个整数除法(否则num将需要很长时间才能变为0
var num=1234;
var reverse=0;
while(num!=0) {
reverse=reverse*10;
reverse=reverse+(num%10);
num=num/10;
}
console.log(reverse);
我希望输出为4321,但实际输出是一个无限循环操作
num=num/10
需要一个整数除法(否则num
将需要很长时间才能变为0)。用于剥离任何部分零件:
num=Math.trunc(num/10);
相反:
var num=1234;
var反向=0;
while(num!==0){
反向=反向*10;
反向=反向+(数值%10);
num=Math.trunc(num/10);
}
控制台日志(反向)代码>更改
num=num/10;
到
实现这一点的方法有很多,请选择其他方法:
var num=1234
,rev=0
做{
版本=(版本*10)+(数量%10)
}while(num=Math.trunc(num/10))
console.log(rev)
您可以简单地使用Math.trunc(x)从除法结果中提取整数。或者您也可以使用以下方法
另一种方法
var num = 1234;
var reverse = 0;
var final = 0;
while(num !== 0){
reverse = num%10;
num = parseInt(num/10);
console.log(reverse);
if(final! = '0'){
final = final.toString().concat(reverse);
}else {
final = reverse;
}
}
console.log(final);
或者你也可以做这样的事情
var num = 1234;
var reverse = num.toString().length;
var res = num.toString().charAt(1);
var final = "";
for(var i = reverse; i >= 0; i--){
console.log(num.toString().charAt(i));
final = final.concat(num.toString().charAt(i))
}
console.log(final);
因为1234/10=123.4
var num = 1234;
var reverse = num.toString().length;
var res = num.toString().charAt(1);
var final = "";
for(var i = reverse; i >= 0; i--){
console.log(num.toString().charAt(i));
final = final.concat(num.toString().charAt(i))
}
console.log(final);