把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 ...
随机推荐
- Python基础第三天
三元运算 三元运算又叫三目运算,是对简单的条件语句的缩写,例如if判断 # 标准if判断语法 if 1 == 1: name = "yes" else: name = " ...
- openpyxl
openpyxl库的使用,这个处理xlsx还是挺有用的 ref:传送门 from openpyxl import Workbook from openpyxl import load_workbook ...
- 本原串(HDU 2197 快速幂)
本原串 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- Android学习笔记--存储方案(SharedPreference、文件IO)
1. SharedPreference SharedPreference可以很容易的保存key-value对,通常用于保存配置信息.保存的步骤 1. 获得SharedPreferences对象 (最后 ...
- 从汇编来看c语言
一. 学习过程 从C语言的角度提出一些问题,这些问题再从汇编的角度考虑,还真的很有意思. (1) 我们用高级语言编程时,一般不可能不用到变量,但是一定要用到变量吗?还有这些变量从汇编的角度是怎么实现的 ...
- cf B. Flag Day
http://codeforces.com/contest/357/problem/B #include <cstdio> #include <cstring> #includ ...
- 资本助力转型 TCL攻守转换(转型、并购、过冬前一定要保留强大的战略预备队)
吴侨发 9月份,TCL集团(3.92, 0.00, 0.00%)160多位高管启动四天戈壁行.在戈壁行第三天,30多公里的戈壁,差不多等于平路50公里,最后两只队伍走了13个小时.路途的艰辛几乎超过这 ...
- linux 命令后台执行
我想把updatedb命令(用于重新建立整盘索引的命令)放在后台运行.因为我不想眼睁睁的看着机器建立索引,我还想编会儿程序呢: # updatedb & [1] 23336 注释:在所要执行的 ...
- pythonchallenge学到的python内置函数整理
第0关: 计算x的n次方: x**n 第一关: maketrans(from,to):建立一个翻译规则,将from翻译成to的翻译规则,因为要从from翻译成to,所以俩个参数的长度必须一致 tran ...
- android开发学习 几个有用的学习资料~
<Android高级应用开发-基础篇> 针对Android基础入门课程,包含了Android四大件基础.UI,Launcher等等.这个课程学习之后也是进一步深入的基础. <Andr ...