日期:2014-05-17  浏览次数:20406 次

怎样把一个int整数转换成int[]数组
如int i=1234 变成 int[]{1,2,3,4} 忘各位前辈指点,谢谢~

------解决方案--------------------


int[] a=i.ToString().ToArray().Select(o=>int.Perse(o)).ToArray();
------解决方案--------------------
int[] arr = i.ToString().Select(s => int.Parse(s.ToString())).ToArray();
------解决方案--------------------
引用:


int[] a=i.ToString().ToArray().Select(o=>int.Perse(o)).ToArray();

1
------解决方案--------------------
引用:
Quote: 引用:



int[] a=i.ToString().ToArray().Select(o=>int.Perse(o)).ToArray();

如果不允许把整数转成字符串的情况下实现,还有什么方法么?

那自己用求余 法去弄。这个不写了。
------解决方案--------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 1234;
            int[] result = Enumerable.Range(1, i > 0 ? (int)Math.Log10((double)i) + 1 : (i == 0 ? 1 : (int)Math.Log10((double)-i) + 1))
                .Select(x => (int)((i % Math.Pow(10.0, (double)x) - i % Math.Pow(10.0, (double)x - 1)) / Math.Pow(10.0, (double)(x - 1))))
                .Reverse().ToArray();