【问题标题】:How to get Comma in Integer from string [closed]如何从字符串中获取整数中的逗号 [关闭]
【发布时间】:2014-12-29 20:28:08
【问题描述】:

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

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

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

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

【问题讨论】:

  • 您应该查找诸如“数字字符串转换”和“字符串连接”之类的主题。
  • 整数中的逗号?什么?你确定你了解什么是整数?

标签: c# string parsing integer concatenation


【解决方案1】:

不可能有像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.Formatlike;

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

【讨论】:

    【解决方案2】:

    不,你不能。 ',' 是一个字符串。你不能把它们放在一个 int 中,但你可以把它放在 string 中

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

    稍后你可以再次将其拆分为 int

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

    【讨论】:

      【解决方案3】:

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

      其次,你需要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);
      

      【讨论】:

        【解决方案4】:

        如果你添加一个逗号,它将不再是一个整数,而是一个字符串,或者一个双精度/十进制,这取决于你的文化。

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-03-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-02-08
          • 2017-08-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多