【问题标题】:Convert a string containing a number to an int [duplicate]将包含数字的字符串转换为 int [重复]
【发布时间】:2012-11-20 15:12:09
【问题描述】:

可能重复:
C# char to int

我遇到了很多解决方案,但我无法通过尝试其中任何一个来解决问题。 如何在 c# 中将“230”、“73400”或更大的字符串值转换为 int 值?我必须使用图书馆吗?有没有办法在 C# 本地做到这一点? 让我们假设:

string c = "270"; int i;

我怎样才能让我也变成 270?

【问题讨论】:

  • 您是在询问将包含字符 '2'、'7' 和 '0' 的字符串转换为 int 吗?
  • 好吧,我意识到我应该提到一个字符数组或字符串。我在使用一些解析方法时遇到了困难,但是像 sscanf 和 atoi 这样的方法对我来说非常有用!谢谢大家:)

标签: c# char int


【解决方案1】:

试试这个,

int i = (int) c;

【讨论】:

    【解决方案2】:
    int i = Char.GetNumericValue('270');
    
    //or 
    
    int i= Convert.ToInt32(c);
    

    试试这个,

    【讨论】:

      【解决方案3】:

      这似乎是不可能的 char c = '270';

      但你可以有一个字符串string c ="270";,最好的方法是使用int.TryParse(c, out intval) 变体,如果字符串中包含一个可解析的 int 值,它将返回 true。同样在您提到的值示例中,我认为您需要long

      【讨论】:

      • +1 用于实现“真正的问题”:)
      【解决方案4】:

      如果您有一个包含“270”的字符串,您可以使用几种不同的方法:

      var s = "270";
      
      var i1 = Convert.ToInt32(s);
      var i2 = int.Parse(s);
      
      // This is probably safest as it allows you to handle errors yourself without catching exceptions.
      int i3;
      if(! int.TryParse(s, out i3)) {
        // Panic!
      }
      

      【讨论】:

        猜你喜欢
        • 2012-05-28
        • 2015-07-13
        • 2015-06-18
        • 2017-05-07
        • 1970-01-01
        • 2014-03-23
        • 2014-12-25
        • 1970-01-01
        • 2012-01-24
        相关资源
        最近更新 更多