首页 > 解决方案 > 标签文本中出现错误“输入字符串的格式不正确”

问题描述

我需要将一个标签字符串转换为 int,另一个转换为 float,这样我就可以得到包含金额和单价的总价。

这是我尝试过的:

  private void EntQtde_TextChanged(object sender, TextChangedEventArgs e)
    {
        /**/
        if(entRSVenda.Text != null)
        {
            float RSVenda = float.Parse(entRSVenda.Text);
            int Qtde = int.Parse(entQtde.Text);
            lblValorTot.Text = (Qtde * RSVenda).ToString();
            //lblValorTot.Text = ((float.Parse(entRSVenda.Text)) * int.Parse(entQtde.Text)).ToString();
        }

    }



  private void EntRSVenda_TextChanged(object sender, TextChangedEventArgs e)
    {
        /**/

        if (entQtde.Text != null)
        {
            float RSVenda = float.Parse(entRSVenda.Text);
            int Qtde = int.Parse(entQtde.Text); 
            //lblValorTot.Text = ((float.Parse(entRSVenda.Text)) * int.Parse(entQtde.Text)).ToString();
            lblValorTot.Text = (Qtde * RSVenda).ToString();


        }

    }

当一个标签文本发生变化时,它应该再次进行数学运算,但我尝试的一切都行不通。

编辑:标签没有任何文本,它获取用户输入

<Label Text="" x:Name="lblValorTot"/>


<Entry x:Name="entQtde" Placeholder="Quantidade" Keyboard="Numeric" TextChanged="EntQtde_TextChanged"/>

<Entry x:Name="entRSVenda" Placeholder="Valor unitário (R$)" TextChanged="EntRSVenda_TextChanged" />

会不会是占位符“R$”?

标签: c#xamarin.forms

解决方案


我们还没有看到任何输入示例,但希望下面的代码片段能让您启动并运行:

    if (entQtde.Text != null)
    {
        int Qtde;
        bool canParse = int.TryParse(entQtde.Text, out Qtde); 

        if(canParse){
           lblValorTot.Text = (Qtde * RSVenda).ToString();
        }else{
           // invalid input - do something!
        }


    }

推荐阅读