c# - 标签文本中出现错误“输入字符串的格式不正确”
问题描述
我需要将一个标签字符串转换为 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$”?
解决方案
我们还没有看到任何输入示例,但希望下面的代码片段能让您启动并运行:
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!
}
}
推荐阅读
- python - 从数组求和,直到达到给定值。
- javascript - Spring boot:使用@Path变量时JQuery验证不起作用
- java - CompletableFuture allof(..).join() 与 CompletableFuture.join()
- android - AIDL 在调试 APK 中工作,但在签名APK 中不工作
- java - 为什么我看不到运行 JavaFX Web 视图的 URL 网站?
- javascript - 使用 JavaScript 在悬停时添加类
- python - 基于半一致特征拆分字符串
- forms - Symfony - 需要的个人递归函数 = true 返回 false
- java - Guage 测试自动化框架是否允许在同一个 repo 中使用多种语言?
- python - 如何检查图像切片中是否有 5 个或 6 个复选框?