有没有一种简单的方法把一个int到每个数字的整数数组? [英] Is there an easy way to turn an int into an array of ints of each digit?

查看:112
本文介绍了有没有一种简单的方法把一个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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆