如何从字符串中获取整数逗号

时间:2014-11-03 07:49:52

标签: c# string parsing integer concatenation

我有两个整数值,例如253。现在我想将它们添加到一个整数中,但条件是这两个值都应该用逗号(,)分隔。它可能怎么做。它给我错误,因为逗号不能在整数中被包含.. 我试过这样的..

 int inoutSpecifierPosition = (startIndex + "," + difference);

但它给了我错误..请帮帮我......

任何建议都将受到高度赞赏......

4 个答案:

答案 0 :(得分:5)

不可能有像25,3这样的整数。它可以是string而不是;

string inoutSpecifierPosition = startIndex + "," + difference;

没有整数可以包含任何逗号或任何小数点分隔符或千位分隔符。它们只是 数字。只有他们的字符串表示可以有。这就是为什么你的

  

现在我想将这些添加到一个整数中,但条件是这两个值都应该用逗号分隔

声明毫无意义。

您的代码会出错,因为string + int会返回string,而不是int

.NET Framework中的字符串连接中有3个+运算符重载。

来自C#Spec $7.8.4 Addition operator

string operator + (string x, string y);
string operator + (string x, object y);
string operator + (object x, string y);
  

binary +运算符的这些重载执行字符串连接。   如果字符串连接的操作数为null,则为空字符串   取代。 否则,任何非字符串参数都将转换为其   通过调用虚拟ToString方法表示字符串   继承自类型对象

如果要将整数格式化为字符串,可以使用string.Format之类的;

string s = string.Format("{0},{1}", startIndex, difference); // 25,3

如果已经25,3作为字符串,您希望获得这些整数,则可以使用String.SplitInt32.Parse等方法;

string s = "25,3";
int startIndex = Int32.Parse(s.Split(',')[0]);
int difference = Int32.Parse(s.Split(',')[1]);

答案 1 :(得分:1)

不,你不能。 ','是一个字符串。你不能将这些组合在一个int中,但你可以把它放在字符串

string inoutSpecifierPosition = (startIndex + "," + difference);

以后你可以再把它拆分成int

var integers=inoutSpecifierPosition.Split(',');
int a=int.Parse(integers[0]);
int b = int.Parse(integers[1]);

答案 2 :(得分:0)

如果你添加一个逗号,它将不再是一个整数,它将成为一个字符串,或双倍/小数,具体取决于你的文化。

让我们假设它是一个字符串。你会想要

var newValue = string.format("{0},{1}", startIndex, difference);

答案 3 :(得分:0)

首先,整数没有分数。这是一个整数,所以你不能在逗号后面设置任何东西。

其次,你需要像decimal

这样的东西
decimal inoutSpecifierPosition = startIndex + difference / 100; // divide by 100 for example if `difference` can't exceed 100.

string获取数据:

string inoutSpecifierPosition = string.Format("{0},{1}", startIndex, difference);