我有一个号码:
Int64 a = 5021390010301;
我希望得到像
Int64 b = 30;
我试过了:
string b = Convert.ToString(a).Substring(0 , 12);
那给我502139001030
。我也尝试过:
string b = Convert.ToString(a).Substring(11 , 12);
但这也不起作用。
答案 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:
只要您不使用浮点数或双精度数,这将有效。