文本字段中未显示整数

时间:2019-04-02 19:04:27

标签: c# parsing unity3d int

我的目标是让用户输入输入的黄金数量乘以1000,然后输入要转换为现金的黄金数量。每个goldbar都价值1000现金。然后,我想显示总数。

此外,还有其他方法可以使用更新功能来不断更新它吗?我觉得这会太耗费性能。

我收到此错误:

  

FormatException:输入字符串的格式不正确   System.Int32.Parse(System.String s)(位于/Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Int32.cs:629)   NSExchangeManager.ExchangeManager.Update()(位于Assets / ExchangeManager.cs:37)

我试图交换int.Parse()被转换但没有运气的地方。

if(inputText.text != null)
{
    // Get input text
    string amountOfGold = inputText.text;
    // Set gold value
    int goldValue = 1000;
    // Multiply goldvalue by amount of gold
    int total = goldValue * int.Parse(amountOfGold);

    // Show the total in the 'money text'
    money.text = "$" + total.ToString();
    // Show amount of gold typed
    gold.text = amountOfGold;
}

2 个答案:

答案 0 :(得分:3)

  

输入字符串的格式不正确

表示文本框(字符串)的值不是可以解析为int的有效数字值。您应该改用TryParse()

int gold = 0;
int.TryParse(amountOfGold,out gold);
int total = goldValue * gold;

答案 1 :(得分:0)

非常感谢您的帮助!这终于对我有用。

if(inputText.text != null)
        {
            // Get input text
            string goldInput = inputText.text;
            int goldInputNum;
            int.TryParse(goldInput, out goldInputNum);

            // Set gold value
            int goldValue = 1000;

            int total = goldValue * goldInputNum;

            // Show the total in the 'money text'
            money.text = "$" + total.ToString();
            // Show amount of gold typed
            gold.text = goldInput;
        }