【问题标题】:Unable to cast string to int32无法将字符串转换为 int32
【发布时间】:2015-04-06 23:47:59
【问题描述】:

我有这个字符串:

"-1238903096.0"

当我尝试使用 Convert.ToInt32() 或 int.parse / int.TryParse 将其转换为 Int32 时,我得到一个 FormatException:“附加信息:输入字符串的格式不正确。” em>

但通常它应该可以工作,因为该值不超过 Int32.MinValue 范围? 任何想法:/?

【问题讨论】:

  • 是的,你的值有小数点,所以你必须把它解析为double或decimal。
  • 谢谢,这就是解决方案! :)
  • 有点离题(和迂腐),但使用Convert.ToInt32 不被视为强制转换,它会被视为解析。

标签: c# string integer


【解决方案1】:

您的值有一个小数点,最好将其解析为小数或双精度。

您也可以删除小数点,然后将其解析为整数。

【讨论】:

    【解决方案2】:

    Xela 是对的,小数点把你搞砸了。在将其转换为整数之前尝试转换为双精度。

    int answer = Convert.ToInt32(Convert.ToDouble(s));
    

    【讨论】:

      猜你喜欢
      • 2019-07-23
      • 2014-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-19
      • 2014-11-15
      • 1970-01-01
      • 2012-06-20
      相关资源
      最近更新 更多