如何将字符串转换为浮点数?

时间:2019-08-16 14:41:45

标签: c# unity3d

所以我在这里四处看看,但是似乎所有可行的解决方案都不适用于我。我有一个字符串输入到输入字段中。我想将该字符串转换为浮点数,以便用户可以输入货币值,例如“ 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)

1 个答案:

答案 0 :(得分:1)

floatSingle的别名,只需使用Convert.ToSingle