Unity中InputField 报错 FormatException: Input string was not in the correct format

时间:2022-06-29 07:36:29

参考如下:  https://*.com/questions/8321514/input-string-was-not-in-a-correct-format

因为项目需求,需要设置InputFiled的默认值,于是乎就遇到这个报错..在网上查找有不同答案,上述网站就是我所需要的

if (int.Parse(numText.text)>1000)
{
    return;
} 

  之前的代码是这个样子的..

The error means that the string you're trying to parse an integer from doesn't actually contain a valid integer.

It's extremely unlikely that the text boxes will contain a valid integer immediately when the form is created - which is where you're getting the integer values. It would make much more sense to update a and b in the button click events (in the same way that you are in the constructor). Also, check out the Int.TryParse method - it's much easier to use if the string might not actually contain an integer - it doesn't throw an exception so it's easier to recover from.

大神的描述如下..

我们要做的,就是使用它的Int.TryParse方法

更改之后如下:

int result = 0;
if (int.TryParse (numText.text, out result)) {
  if (int.Parse(numText.text)>1000)
  {
      return;
  }
}

  https://www.bilibili.com/video/av11587576  20分50秒左右讲解