当前位置:   article > 正文

【UNITY】报错3FormatException: Input string was not in a correct format.

formatexception: input string was not in a correct format.

1.报错信息:FormatException: Input string was not in a correct format.****

2.解决办法

代码

        m_XValue = float.Parse(xString);
        m_YValue = float.Parse(yString); 
  • 1
  • 2

改成:

        try
        {
            // Convert the strings to floats
            m_XValue = float.Parse(xString);
            m_YValue = float.Parse(yString);
        }
        catch { }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

或者:

        if (float.TryParse(xString, out m_XValue) && float.TryParse(yString, out m_YValue))
        {
            m_XValue = float.Parse(xString);
            m_YValue = float.Parse(yString);
        }   // 没报错

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3.报错测试用例:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

// create a GameObject
// create two Input Fields
// attach both Fields to the GameObject
// attach this script to the GameObject

public class Vector3__x : MonoBehaviour
{
    public InputField m_InputFieldX, m_InputFieldY;
    string xString, yString;
    float m_XValue, m_YValue;
    Vector3 m_NewPosition; 

    void Start()
    {
        // Vector3 m_NewPosition = new Vector3(0.0f, 0.0f, 0.0f);报错m_NewPosition doesn't exist,原因是局部变量有作用域
        m_NewPosition = new Vector3(0.0f, 0.0f, 0.0f);
    }

    void Update()
    {
        xString = m_InputFieldX.text;
        yString = m_InputFieldY.text;
        
        m_XValue = float.Parse(xString);
        m_YValue = float.Parse(yString);  
        // 报错FormatException: Input string was not in a correct format.


        /*float.TryParse(xString, out m_XValue);
        float.TryParse(yString, out m_YValue);
        m_XValue = float.Parse(xString);
        m_YValue = float.Parse(yString);
        // 报错FormatException: Input string was not in a correct format.*/


        /*if (float.TryParse(xString, out m_XValue) && float.TryParse(yString, out m_YValue))
        {
            m_XValue = float.Parse(xString);
            m_YValue = float.Parse(yString);
        }   // 没报错*/


        /*try
        {
            m_XValue = float.Parse(xString);
            m_YValue = float.Parse(yString);
        }
        catch { }  // 没报错*/


        m_NewPosition.x = m_XValue;
        m_NewPosition.y = m_YValue;
        this.transform.position = m_NewPosition;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/140772?site
推荐阅读
相关标签
  

闽ICP备14008679号