2017-07-26 25 views
2

的specifc一部分,我有一個數字:要獲得numberin C#

Int64 a = 5021390010301; 

我想得到這樣

Int64 b = 30; 

我想:

string b = Convert.ToString(a).Substring(0 , 12); 

這給我502139001030。我也試過:

string b = Convert.ToString(a).Substring(11 , 12); 

但是,這也沒有奏效。

+5

'Substring(10,2)' – DavidG

+0

它是如何工作的? 'string b'的值是多少? –

+0

'a.ToString()。子串(11,2)' – Adam

回答

6

string.Substring第二個參數是字符數取,最後一個字符的而不是索引。所以,你需要這樣的事情,而不是:

string b = Convert.ToString(a).Substring(10, 2); 
1

String.Substring第二個參數是長度不結束索引和第一索引爲0

int b = int.Parse(a.ToString().Substring(10, 2)); 
2

如果你看看子串,文檔在MSDN,你會看到第二個參數實際上是字符串的長度。

如果你想要得到的字符串的最後一個季度,你必須寫:

string b = convert.ToString(a).Substring(9 , 3); 

既然你想要一個整數,你必須分析它:

int result = Int32.Parse(b); 
1

你也可以解決它,沒有它轉換爲字符串第一:

Int64 b = a % 1000/10; 

這隻要你不使用浮動或工作雙倍。