有没有一种简单的方法把一个int到每个数字的整数数组? [英] Is there an easy way to turn an int into an array of ints of each digit?
本文介绍了有没有一种简单的方法把一个int到每个数字的整数数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
说我有
VAR I = 987654321;
有没有一种简单的方法来获得的数字阵列,相当于
var为= INT新[] {9,8,7,6,5,4,3,2,1};
没有的ToString()
荷兰国际集团和遍历字符与 int.Parse(x)
?
解决方案
公共堆栈< INT> NumbersIn(int值)
{
如果(价值== 0)返回新的堆栈< INT>(); 变种数= NumbersIn(值/ 10); numbers.Push(值10%); 返回的数字;
}变种数= NumbersIn(987654321).ToArray();
选择对象不递归:
公众诠释[] NumbersIn(int值)
{
变种数=新的堆栈< INT>(); 对于(;值大于0;值/ = 10)
numbers.Push(值10%); 返回numbers.ToArray();
}
Say I have
var i = 987654321;
Is there an easy way to get an array of the digits, the equivalent of
var is = new int[] { 9, 8, 7, 6, 5, 4, 3, 2, 1 };
without .ToString()
ing and iterating over the chars with int.Parse(x)
?
解决方案
public Stack<int> NumbersIn(int value)
{
if (value == 0) return new Stack<int>();
var numbers = NumbersIn(value / 10);
numbers.Push(value % 10);
return numbers;
}
var numbers = NumbersIn(987654321).ToArray();
Alternative without recursion:
public int[] NumbersIn(int value)
{
var numbers = new Stack<int>();
for(; value > 0; value /= 10)
numbers.Push(value % 10);
return numbers.ToArray();
}
这篇关于有没有一种简单的方法把一个int到每个数字的整数数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文