1.报错信息:FormatException: Input string was not in a correct format.****
2.解决办法:
把代码:
m_XValue = float.Parse(xString);
m_YValue = float.Parse(yString);
改成:文章来源:https://www.toymoban.com/news/detail-506314.html
try
{
// Convert the strings to floats
m_XValue = float.Parse(xString);
m_YValue = float.Parse(yString);
}
catch { }
或者:文章来源地址https://www.toymoban.com/news/detail-506314.html
if (float.TryParse(xString, out m_XValue) && float.TryParse(yString, out m_YValue))
{
m_XValue = float.Parse(xString);
m_YValue = float.Parse(yString);
} // 没报错
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;
}
}
到了这里,关于unity报错【3】FormatException: Input string was not in a correct format.的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!