2014-11-03 62 views
-2

我有两个整数值,例如253。现在我想将这些添加到一个整数中,但条件是这两个值应该用逗号(,)分隔。它可能又岂是done.It是给我的错误是逗号不能以整数来conactenated .. 我已经试过这样的..如何从字符串获得整数的逗号

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

,但它给我错误..Please帮助我。 ..

任何建议将不胜感激...

+0

你应该看看像“数字字符串转换”和主题“字符串连接”。 – 2014-11-03 07:53:15

+4

逗号在整数?什么?你确定你明白什么是整数? – 2014-11-03 07:53:22

回答

5

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

string inoutSpecifierPosition = startIndex + "," + difference; 

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

现在我想这些内容添加到一个单一的整数,但条件是这两个值应该用逗号分开

说法是没有意义的。

由于string + int返回string而不是int,您的代码给出错误。

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

从C#规格$7.8.4 Addition operator

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

二进制+运算的这些重载执行字符串连接。 如果字符串连接的操作数为空,则替换为空字符串 。 否则,通过调用从类型对象继承的虚拟ToString方法 将任何非字符串参数转换为其 字符串表示形式。

如果你想将你的整数格式化为一个字符串,你可以使用string.Format like;

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]); 
0

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

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

var newValue = string.format("{0},{1}", startIndex, difference); 
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); 
1

你就是不行。 ','是一个字符串。你不能在INT把这些combinly但你可以把这个字符串

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

以后你可以把它分成INT再次

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