2012-09-22 78 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);