2012-09-22 46 views
-1

我想两位数INT分成2个位数整数!例如:拆分两位数INT

20 = 2 and 0 

15 = 1 and 5 

8 = 0 and 8 
+5

“int”从来没有2位数。它总是有32位。 –

回答

4

这很简单:使用%获取数的模,和为/整数除法(即其中的小数部分被丢弃划分)。

你的数字是十进制系统(即基本是10),所以你把和国防部10,像这样:

int a = 20/10; // 2 
int b = 20 % 10; // 0 

要先打印了一些数字,由数字,至少显著位,你可以用这个循环:

int a = 12345; 
while (a != 0) { 
    lastDigit = a % 10; 
    Console.WriteLine(lastDigit); 
    a /= 10; 
} 
+0

以及如果我有8? (并且想要得到0和8) – Michael

+0

@Michael同样的事情也可以发挥作用:'8/10'给你零,'8%10'仍然是'8'。 – dasblinkenlight

+0

@Michael你尝试过吗?这个代码显然适用于'8'。它不适用于大于'0' ...'99'的值,但这些不是两位数的整数。 – CodesInChaos

0
int i = 45; // or anything you want 

int firstDigit = i/10; 
int secondDigit = i % 10; 

这真的很简单。 您也可以使用Modulos和Division操作对3位数字进行此操作,但我会让您自己弄清楚。 ;)

0

呀,简单。

int m =2123; 
int n=m; 
while (n != 0) { 
    y=n%10; //variable holds each digit out of the number m. 
    Console.WriteLine(y); 
    n /= 10; 
} 
+0

你的m有4位数字。 –

0

如果你有一个整数数组,那么你可以很好地使用LINQ,否则就使用下面的任何答案。

int num = 86; 
int digit1 = num/10; 
int digit2 = num % 10; 

你的号码只有两位数吗?

0
 int input = 15; 
     int first = 0; 
     int second = Math.DivRem(input, 10, out first);