所以我在这里四处看看,但是似乎所有可行的解决方案都不适用于我。我有一个字符串输入到输入字段中。我想将该字符串转换为浮点数,以便用户可以输入货币值,例如“ 234.34”。
我已经尝试了以下方法:
try
{
float number = (float) Convert.ToDouble(_accountAmountInput.text);
}catch(Exception e)
{
Debug.Log(e + "\n must be number");
}
AND
try
{
float number = float.Parse(_accountAmountInput.text);
}catch(Exception e)
{
Debug.Log(e + "\n must be number");
}
AND
if(float.TryParse(_accountAmountInput.text, NumberStyles.Any, CultureInfo.InstalledUICulture, out float number))
{
Debug.Log("Number: " + number);
}
else
{
//display error screen
//account amount needs to be digits only
}
最后一个输出正确的数字,但我仍然收到错误消息 我总是输入有效的浮点值。
我总是收到的错误消息是:
FormatException:输入字符串的格式不正确。 System.Number.StringToNumber(System.String str, System.Globalization.NumberStyles选项,System.Number + NumberBuffer& 数字,System.Globalization.NumberFormatInfo信息,System.Boolean parseDecimal)(位于<1f0c1ef1ad524c38bbc5536809c46b48>:0)
答案 0 :(得分:1)
float
是Single
的别名,只需使用Convert.ToSingle