在c#中获取数字的特定部分

时间:2017-07-26 12:51:20

标签: c#

我有一个号码:

Int64 a = 5021390010301;

我希望得到像

Int64 b = 30;

我试过了:

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

那给我502139001030。我也尝试过:

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

但这也不起作用。

4 个答案:

答案 0 :(得分:6)

string.Substring的第二个参数是要采用的字符数,而不是最后一个字符的索引。所以你需要这样的东西:

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

答案 1 :(得分:2)

如果查看MSDN处的Substring-Documentation,您会看到第二个参数实际上是字符串的长度。

如果你想得到你必须写的字符串的最后四分之一:

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

既然你想要一个整数,你就必须解析它:

int result = Int32.Parse(b);

答案 2 :(得分:1)

String.Substring的第二个参数是长度而不是结束索引,第一个索引是0.

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

答案 3 :(得分:1)

您也可以先解决它,而不必先将其转换为字符串:

source 'https://rubygems.org'

gem 'rake'
gem 'afmotion'
gem 'motion-cocoapods'
gem 'newclear'
gem 'cocoapods'
# Add your dependencies here:

只要您不使用浮点数或双精度数,这将有效。