繁体   English   中英

如何分隔整个javaScript数字并分别乘以

[英]How can I separate whole javaScript numbers and multiply them separately

我想做的是将整数分开,例如1986或364,然后将其添加到数组中,例如[1000,900,80,6]或[300,60,4],无论大小是多少数。

function convert(num) {
   var numbers = String(num).split("");
   var times = [1000, 100, 10, 1];
   var converted = [];
   for(var i = 0; i < numbers.length; i++){
       converted.push(numbers[i] * times[times.length - numbers.length + i]);   
   }
   return converted;
}

convert(360);

它将适用于任意数量的数字

 function convert(num) { var temp = num.toString(); var ans = []; for (var i = 0; i < temp.length; i++) { //get the ith character and multiply with correspondng powers of 10 ans.push(parseInt(temp.charAt(i)) * Math.pow(10, temp.length - i - 1)); } return ans; } convert(39323680); 

正如@James Thorpe提到的那样,您需要定义更适合自己的内容,但这似乎比较简洁,并且支持任何数字(不仅是4位数字)

 function seperateNumber(num) { var seperated = []; while (num > 0) { var mod = num % 10; seperated.push(mod); num = (num - mod) / 10; } return seperated; } console.log(seperateNumber(1986)); 

您是否要转换更高的数字?

您可以尝试这样的操作(虽然不是很优雅):

 function convert(num) { var numbers = String(num).split(""); converted = []; numbers.reverse(); numbers.forEach(function(element, index) { converted.push(element*Math.pow(10,index)); }); return converted.reverse(); } console.log(convert(19813)); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM