none
Convert to int RRS feed

  • Pregunta

  • necesito que este valor me retorne un entero como hago

      int ValorTotal = Convert.ToInt16(txtTotal.Text.ToString());

    este es el codigo

    {
        public partial class frmFactura : Form
        {
            public frmFactura()
            {
                InitializeComponent();
            }

            private void frmFactura_Load(object sender, EventArgs e)
            {
                txtCantidad.Text = "1";
                var Funciones = new Recursos.ClassFunciones();
                txtVendedor.DataSource = Funciones.ListarVendedores();
                txtVendedor.DisplayMember = "venUsuario";
                txtVendedor.ValueMember = "VenId";

                txtCliente.DataSource = Funciones.ListarClientes();
                txtCliente.DisplayMember = "cliNombre";
                txtCliente.ValueMember = "cliId";

                txtArticulo.DataSource = Funciones.ListarProductos();
                txtArticulo.DisplayMember = "proNombre";
                txtArticulo.ValueMember = "proCodigo";
                
            }

            private void btnAgregarProducto_Click(object sender, EventArgs e)
            {
                var Funciones = new Recursos.ClassFunciones();
                int Codigo = Convert.ToInt16(txtArticulo.SelectedValue.ToString());
                String Articulo = txtArticulo.Text;
                String Cantidad = txtCantidad.Text;
                int Valor = Funciones.ConsultarPrecio(Codigo); ;
                dgvFacturaDetalle.Rows.Add(Codigo,Articulo, Cantidad,Valor);
                int NumeroFilas = dgvFacturaDetalle.Rows.Count;
                int ValorTotal = 0;
                if (NumeroFilas>1)
                {
                    for (int i = 0; i < (NumeroFilas-1); i++)
                    {
                       int Can = Convert.ToInt16(dgvFacturaDetalle.Rows[i].Cells[2].Value.ToString());
                       int Val = Convert.ToInt16(dgvFacturaDetalle.Rows[i].Cells[3].Value.ToString());
                       ValorTotal += Can * Val;
                    }
                    txtTotal.Text = ValorTotal.ToString();
                }
                else
                {
                    txtTotal.Text = Valor.ToString();
                }
            }

            private void btnFacturar_Click(object sender, EventArgs e)
            {
                int NumeroFilas = dgvFacturaDetalle.Rows.Count;
                DateTime date = txtFecha.Value;
                int Cliente = Convert.ToInt16(txtCliente.SelectedValue.ToString());
                int Vendedor = Convert.ToInt16(txtVendedor.SelectedValue.ToString());
                int ValorTotal = Convert.ToInt16(txtTotal.Text.ToString());
                var RegistrarFactura = new Recursos.ClassFactura(date , Cliente, ValorTotal, Vendedor);
                int UltimaFactura = RegistrarFactura.Registrar();
                for (int i = 0; i < (NumeroFilas-1); i++)
                {
                    int Articulo = Convert.ToInt16(dgvFacturaDetalle.Rows[i].Cells[0].Value.ToString());
                    int Cantidad = Convert.ToInt16(dgvFacturaDetalle.Rows[i].Cells[2].Value.ToString());
                    var AgregarProducto = new Recursos.ClassFacturaDetalle(UltimaFactura, Articulo, Cantidad);
                }
                System.Windows.Forms.MessageBox.Show("La factura se registro exitosamente");
            }
        }
    }

    martes, 26 de marzo de 2019 15:24

Todas las respuestas

  • hola

    algunos consejos, por ejemplo, para calcular el total podrias usar

    foreach(var row in dgvFacturaDetalle)
    {
    	int Can = Convert.ToInt16(row.Cells[2].Value.ToString());
    	int Val = Convert.ToInt16(row.Cells[3].Value.ToString());
    	ValorTotal += Can * Val;
    }
    
    txtTotal.Text = ValorTotal.ToString();
    es mas facil iterar de esta forma

    >>necesito que este valor me retorne un entero como hago

    pero realizaste previamente el calculo y tienes un valor numerico valido ?

    porque sino podrias usar el int.TryParse()

    int.TryParse(txtTotal.Text, out ValorTotal);

    de esta foma no fallara en la conversion pero dejara el valor por defecto de la variable

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 26 de marzo de 2019 15:46