只适合初学者

今天同事问了我不通过string类型把int类型值123589转换成int[]数组。我想了想于是写了出来,其实不难。看你小学数学学得好不好。言归正传。

先不说代码,举个列子就知道怎么玩了。在C#里1235/1000的整数是1,1235%123的余数是5.123%12余数是3,这样看是不是知道了。什么道理了?

int i=123589 它的i.tostring().length是6.所以我们要用123589/100000的到它的整数1.但是这100000这怎么来呢。int的值可能会变。所以我们先写个算法来根据int i的值长度,来得1后面0的位数

public string Getint(int i)//i 是i.tostring().lenght值

{

 string count = "1";

  for(int j=1;j<i.tostring().length;j++)

  {

    count+="0";

  }

  retunrn Convert.ToInt32(count);

}

我们就要命名一个数组

int [] arry=new int[i.tostring().length]();//这个用来存放转换int数组值得

int arrybak=new int[i.tostring().length]();这个用来存放每次被除的数记录如123/10=12

我们在命令一个int main=1这个是自增长的。当我们遍历int i=123589.i.tostring().length值得时候自增长。遍历一次。i的length就减去1.这样就用.i的length-main。看下面代码:

for (int j = 0; j < i.ToString().Length; j++)
{
if (j > 0)
{
if (j >2)//判断j是不是2位数。因为两位数的余数就是(i / icount)%10大于2位以上的相反
{
arry[j] = (i / icount) % arrybak[j - 1];
arrybak[j] = (i / icount);
}
else
{
arry[j] = (i / icount)%10;
arrybak[j] = (i / icount);
}
}
else
{
arry[j] = (i / icount);
arrybak[j] = (i / icount);
}
icount = Getint(i.ToString().Length - main);
main++;
}

这样也许说的不是很清楚所以我把所有代码贴在下面。希望大家参考

static void Main(string[] args)
{

int i = 153589;
int icount = Getint(i.ToString().Length);
int[] arry = new int[i.ToString().Length];
int[] arrybak = new int[i.ToString().Length];
int main = 1;
for (int j = 0; j < i.ToString().Length; j++)
{
if (j > 0)
{
if (j >2)
{
arry[j] = (i / icount) % arrybak[j - 1];
arrybak[j] = (i / icount);
}
else
{
arry[j] = (i / icount)%10;
arrybak[j] = (i / icount);
}
}
else
{
arry[j] = (i / icount);
arrybak[j] = (i / icount);
}
icount = Getint(i.ToString().Length - main);
main++;
}
}

public static int Getint(int i)
{
string count = "1";
for (int j = 1; j < i; j++)
{
count += "0";
}

return Convert.ToInt32(count);
}

把int类型值转换成int数组(不通过string类型转换)的更多相关文章

  1. PHP实现INT型,SHORT型,STRING转换成BYTE数组

    实现PHP实现INT型,SHORT型,STRING转换成BYTE数组的转化: class Bytes { public static function integerToBytes($val) { $ ...

  2. C++ 字符串分割,并把子字符串转换成int型整数

    主要涉及到string类的两个函数find和substr: find()函数的用法: 原型:size_t find ( const string& str, size_t pos = 0 ) ...

  3. 如何将int整型转换成String字符串类型

    自动类型转换适用于兼容类型之间从小范围到大范围数据的转换. nt转换成String int i = 10; int b=1: System.out.pritnln(a + b); 里面靠近字符串,所以 ...

  4. Java中JSONArray转换成int[]的办法

    今天写项目的时候要做一个MyBatis的带IN子句的删除,于是用一个整型数组来保存待删除数据的ID 从前端将JSON字符串搞过来之后如何将JSONArray转换成int类型数组就成了个问题 下面是我的 ...

  5. iOS 16进制字符串转换成int十进制

    NSRange rangeErr; rangeErr.location = 6; rangeErr.length = 2; NSString *strings = [value substringWi ...

  6. C# 中怎么将string转换成int型

    int intA = 0;1.intA =int.Parse(str);2.int.TryParse(str, out intA);3.intA = Convert.ToInt32(str);以上都可 ...

  7. 将int型数字转换成6位字符串,不足的时候,前面补0

    将int型数字转换成6位字符串,不足的时候,前面补0 方法一: int num = 123; num.ToString("000000"); 方法二: int num = 123; ...

  8. MySQL类型转换 使用CAST将varchar转换成int类型排序

    --使用CAST将varchar转换成int类型排序 select distinct(zone_id) from guild_rank_info order by CAST(zone_id as SI ...

  9. C语言atoi()函数:将字符串转换成int(整数)

    头文件:#include <stdlib.h> atoi() 函数用来将字符串转换成整数(int),其原型为:int atoi (const char * str); [函数说明]atoi ...

随机推荐

  1. 导入IP安全策略图解

    导入IP安全策略图解 点击“开始菜单”→点击“运行”→输入gpedit.msc并回车 →点击“计算机配置”→“windows设置”→“安全设置”,用鼠标右键点击“IP安全策略”,在弹出菜单中点击“所有 ...

  2. destoon系统商城加淘宝客按钮方法

    destoon系统很多喜欢运营B2B的站长都在用,其中的商城模块常常被用来做淘宝客,其中的难点是如何把购买按钮做成淘宝客地址,这个问题的修改在论坛上被叫价50元,下面小编把这个实用的方法分享下,希望对 ...

  3. Android高清巨图加载方案

    1.今天看了鸿洋的<Android高清巨图加载方案>一文,对加载高清巨图时的解决方案有了一定的认识. 思路为: 提供一个设置图片的入口. 重写onTouchEvent,在里面根据用户移动的 ...

  4. new Handler()和new Handler(Looper.getMainLooper())的区别

    一个帖子的整理: Handler一定要在主线程实例化吗?new Handler()和new Handler(Looper.getMainLooper())的区别如果你不带参数的实例化:Handler ...

  5. Android窗口管理服务WindowManagerService计算Activity窗口大小的过程分析

    来自http://blog.csdn.net/luoshengyang/article/details/8479101 在Android系统中,Activity窗口的大小是由WindowManager ...

  6. VC 隐藏托盘图标

    苦苦寻找的隐藏托盘图标的方法,今天终于搞定,献给大家! #include <atlbase.h> #include <atlconv.h> #include <CommC ...

  7. AzCopy – 上传/下载 Windows Azure Blob 文件

    在我们收到的请求中,有一个频繁出现的请求是提供一种能在 Windows Azure Blob 存储与其本地文件系统之间轻松上传或下载文件的方法.一年半前, 我们很高兴地发布了 AzCopy, Wind ...

  8. Eclipse无法打开“Failed to load the JNI shared library”

    解决方案一 这是因为JDK配置错误所导致的现象. 一般说来,新购笔记本会预装64位的windows系统,而在网上下载软件时,32位会优先出现在页面中(现在来说是这个情况,但我认为未来64位会越来越普及 ...

  9. VC青睐服装订制网站 市场规模超3000亿美元 - 找VC - 创业邦

    VC青睐服装订制网站 市场规模超3000亿美元 - 找VC - 创业邦 VC青睐服装订制网站 市场规模超3000亿美元

  10. java对象在hibernate持久层的状态

    站在持久化层的角度,一个java对象在它的生命周期中,可处于以下4个状态之一: 临时状态(transient):刚刚用new语句创建,还没有被持久化,并且不处于Session的缓存中. 持久化状态(p ...