输入字符串格式不正确
问题描述:
private void btnComprobar_Click(object sender, RoutedEventArgs e)
{
Inventario inv = new Inventario();
inv.beneficio = txtBeneficio.Text;
inv.idProducto = txtIdProducto.Text;
inv.idProveedor = txtIdProveedor.Text;
inv.precioEntrada = txtprecioEntrada.Text;
//errores en la conversion de precioSalida y cantidad
inv.precioSalida = double.Parse(txtPrecioSalida.Text);
inv.cantidad = int.Parse(txtCantidad.Text);
inv.clase = txtClase.Text;
switch (txtClase.Text)
{
case "1":
inv.clase = "FUTBOL";
break;
case "2":
inv.clase = "RUNING";
break;
case "3":
inv.clase = "BALONMANO";
break;
default:
inv.clase = "1";
break;
}
inv.descripcion = txtDescripcion.Text;
inv.estado = txtEstado.Text;
databaseConector.instance.comprobarProducto(dtGConsultas, inv);
}
错误消息: 输入字符串格式不正确。输入字符串格式不正确
在这两种情况下
Inv.precioSalida = double.Parse (txtPrecioSalida.Text);
答
至double.Parse
呼叫将抛出一个异常,如果string
参数不能被解析到一个double
值。与int.Parse
一样。
你可以使用double.TryParse
/int.TryParse
方法尝试解析值:
private void btnComprobar_Click(object sender, RoutedEventArgs e)
{
Inventario inv = new Inventario();
inv.beneficio = txtBeneficio.Text;
inv.idProducto = txtIdProducto.Text;
inv.idProveedor = txtIdProveedor.Text;
inv.precioEntrada = txtprecioEntrada.Text;
//errores en la conversion de precioSalida y cantidad
double precioSalida;
if(double.TryParse(txtPrecioSalida.Text, out precioSalida))
inv.precioSalida = precioSalida
int cantidad;
if(int.TryParse(txtCantidad.Text, out cantidad))
inv.cantidad = cantidad;
inv.clase = txtClase.Text;
switch (txtClase.Text)
{
case "1":
inv.clase = "FUTBOL";
break;
case "2":
inv.clase = "RUNING";
break;
case "3":
inv.clase = "BALONMANO";
break;
default:
inv.clase = "1";
break;
}
inv.descripcion = txtDescripcion.Text;
inv.estado = txtEstado.Text;
databaseConector.instance.comprobarProducto(dtGConsultas, inv);
}
+0
如果它已经非常有用,我仍然需要的东西,因为没有错误,但作为过滤器的一部分搜索完成null值并没有找到任何结果,但非常感谢。 – AlexisRS
显然在txtPrecioSalida TextBox中的字符串不能转换为双。 TextBox中的值是什么? – mm8
我有几个文本框,作为过滤器错误时的值为空 – AlexisRS
你是说txtPrecioSalida.Text为空?您无法将null传递给double.Parse方法而不会发生异常。 – mm8