输入字符串的格式不正确

时间:2017-04-06 10:42:07

标签: wpf

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);

1 个答案:

答案 0 :(得分:-1)

如果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);
}