把int类型值转换成int数组(不通过string类型转换)
只适合初学者
今天同事问了我不通过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类型转换)的更多相关文章
- PHP实现INT型,SHORT型,STRING转换成BYTE数组
实现PHP实现INT型,SHORT型,STRING转换成BYTE数组的转化: class Bytes { public static function integerToBytes($val) { $ ...
- C++ 字符串分割,并把子字符串转换成int型整数
主要涉及到string类的两个函数find和substr: find()函数的用法: 原型:size_t find ( const string& str, size_t pos = 0 ) ...
- 如何将int整型转换成String字符串类型
自动类型转换适用于兼容类型之间从小范围到大范围数据的转换. nt转换成String int i = 10; int b=1: System.out.pritnln(a + b); 里面靠近字符串,所以 ...
- Java中JSONArray转换成int[]的办法
今天写项目的时候要做一个MyBatis的带IN子句的删除,于是用一个整型数组来保存待删除数据的ID 从前端将JSON字符串搞过来之后如何将JSONArray转换成int类型数组就成了个问题 下面是我的 ...
- iOS 16进制字符串转换成int十进制
NSRange rangeErr; rangeErr.location = 6; rangeErr.length = 2; NSString *strings = [value substringWi ...
- C# 中怎么将string转换成int型
int intA = 0;1.intA =int.Parse(str);2.int.TryParse(str, out intA);3.intA = Convert.ToInt32(str);以上都可 ...
- 将int型数字转换成6位字符串,不足的时候,前面补0
将int型数字转换成6位字符串,不足的时候,前面补0 方法一: int num = 123; num.ToString("000000"); 方法二: int num = 123; ...
- MySQL类型转换 使用CAST将varchar转换成int类型排序
--使用CAST将varchar转换成int类型排序 select distinct(zone_id) from guild_rank_info order by CAST(zone_id as SI ...
- C语言atoi()函数:将字符串转换成int(整数)
头文件:#include <stdlib.h> atoi() 函数用来将字符串转换成整数(int),其原型为:int atoi (const char * str); [函数说明]atoi ...
随机推荐
- 导入IP安全策略图解
导入IP安全策略图解 点击“开始菜单”→点击“运行”→输入gpedit.msc并回车 →点击“计算机配置”→“windows设置”→“安全设置”,用鼠标右键点击“IP安全策略”,在弹出菜单中点击“所有 ...
- destoon系统商城加淘宝客按钮方法
destoon系统很多喜欢运营B2B的站长都在用,其中的商城模块常常被用来做淘宝客,其中的难点是如何把购买按钮做成淘宝客地址,这个问题的修改在论坛上被叫价50元,下面小编把这个实用的方法分享下,希望对 ...
- Android高清巨图加载方案
1.今天看了鸿洋的<Android高清巨图加载方案>一文,对加载高清巨图时的解决方案有了一定的认识. 思路为: 提供一个设置图片的入口. 重写onTouchEvent,在里面根据用户移动的 ...
- new Handler()和new Handler(Looper.getMainLooper())的区别
一个帖子的整理: Handler一定要在主线程实例化吗?new Handler()和new Handler(Looper.getMainLooper())的区别如果你不带参数的实例化:Handler ...
- Android窗口管理服务WindowManagerService计算Activity窗口大小的过程分析
来自http://blog.csdn.net/luoshengyang/article/details/8479101 在Android系统中,Activity窗口的大小是由WindowManager ...
- VC 隐藏托盘图标
苦苦寻找的隐藏托盘图标的方法,今天终于搞定,献给大家! #include <atlbase.h> #include <atlconv.h> #include <CommC ...
- AzCopy – 上传/下载 Windows Azure Blob 文件
在我们收到的请求中,有一个频繁出现的请求是提供一种能在 Windows Azure Blob 存储与其本地文件系统之间轻松上传或下载文件的方法.一年半前, 我们很高兴地发布了 AzCopy, Wind ...
- Eclipse无法打开“Failed to load the JNI shared library”
解决方案一 这是因为JDK配置错误所导致的现象. 一般说来,新购笔记本会预装64位的windows系统,而在网上下载软件时,32位会优先出现在页面中(现在来说是这个情况,但我认为未来64位会越来越普及 ...
- VC青睐服装订制网站 市场规模超3000亿美元 - 找VC - 创业邦
VC青睐服装订制网站 市场规模超3000亿美元 - 找VC - 创业邦 VC青睐服装订制网站 市场规模超3000亿美元
- java对象在hibernate持久层的状态
站在持久化层的角度,一个java对象在它的生命周期中,可处于以下4个状态之一: 临时状态(transient):刚刚用new语句创建,还没有被持久化,并且不处于Session的缓存中. 持久化状态(p ...