• Viernes 29 de Marzo de 2024, 14:31

Autor Tema:  problema al cargar datos decimales con jsp  (Leído 3937 veces)

thecarfal

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
problema al cargar datos decimales con jsp
« en: Miércoles 20 de Enero de 2010, 21:47 »
0
Buen dia el mismo es para ver si me pueden ayudar en un problema que tengo con una aplicacion elaborada en codigo jsp al intentar cargar  monto_cedido, creditos_del_ejercicio, total_creditos_disponibles los cual son  datos decimales y anteriormente eran enteros; aca le dejo el codigo.

<%  
         
   Connection con = null;
    try {
        String campo = request.getParameter("rif_cedente");
        if (campo instanceof String) {        
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            con = DriverManager.getConnection("jdbc:odbc:SQLSERVER");
            Statement stmt = con.createStatement();
                        
            double monto_cedido;
            double creditos_del_ejercicio;
            double total_creditos_disponibles;      

            if (request.getParameter("monto_cedido").equals(""))
                monto_cedido = 0;
            else
                monto_cedido = Double.parseDouble(request.getParameter("monto_cedido"));   
           
            if (request.getParameter("creditos_del_ejercicio").equals(""))
                creditos_del_ejercicio = 0;
            else
                creditos_del_ejercicio = Double.parseDouble(request.getParameter("creditos_del_ejercicio"));               
           
            if (request.getParameter("total_creditos_disponibles").equals(""))
                total_creditos_disponibles = 0;
            else
                total_creditos_disponibles = Double.parseDouble(request.getParameter("total_creditos_disponibles"));               
           
            String cadena = "insert into s7_9_Inventario_Cesion (rif_cedente, nombre_cedente, rif_cesionario, nombre_cesionario, numero_escri_notif, fecha_escri_notif, fecha_contrat_cesion, monto_cedido, tributo_orig_credito_fiscal, periodo_orig_credito_fiscal, numero_declaracion_credito_fiscal, fecha_declaracion_credito_fiscal, creditos_del_ejercicio, total_creditos_disponibles, status_creditos, mes, ano, citranscriptor, Observaciones) values ( '"+ request.getParameter("rif_cedente") +"', '"+ request.getParameter("nombre_cedente") +"', '"+ request.getParameter("rif_cesionario") +"', '"+ request.getParameter("nombre_cesionario") +"', '"+ request.getParameter("numero_escri_notif") +"', '"+ request.getParameter("fecha_escri_notif") +"', '"+ request.getParameter("fecha_contrat_cesion") +"', "+ (monto_cedido) +", '"+ request.getParameter("tributo_orig_credito_fiscal") +"', '"+ request.getParameter("periodo_orig_credito_fiscal") +"', " +
            "'"+ request.getParameter("numero_declaracion_credito_fiscal") +"', '"+ request.getParameter("fecha_declaracion_credito_fiscal") +"', "+ (creditos_del_ejercicio) +", "+ (total_creditos_disponibles) +", '"+ request.getParameter("status_creditos") +"', '"+ session.getAttribute("Mes") +"', '"+ session.getAttribute("Ano") +"', '"+ session.getAttribute("Ced") +"', '"+ request.getParameter("observacion") +"')";
            stmt.execute(cadena);
            stmt.close();
            stmt=null;
            out.print("<span class='Estilo7'>La información se almacenó satisfactoriamente...</span>");
         response.sendRedirect("Siger_Recaudacion_7_9.jsp");
        }
        else {
            out.print("<span class='Estilo7'>No se pudo almacenar la información debido a la existencia de algun campo vacio...</span>");
        }    
    }
   /*catch (NumberFormatException e0) {
      out.println("<span class='Estilo7'>Error! No utilice COMAS (,), ni PUNTOS (.) para los numeros introducidos, en su lugar redondee el numero y vualva a intentar registrar la misma informacion tomando en cuenta esta salvedad!</span>");
   } */
    catch (SQLException e1) {
        out.print("<span class='Estilo7'>Se presentó un error! es posible que este tratando de introducir un registro duplicado..." + e1.toString() + "</span>");
    }    
    catch (Exception e){
        out.print(e.toString());
    }  
    finally {        
       
    }      
%>

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: problema al cargar datos decimales con jsp
« Respuesta #1 en: Martes 26 de Enero de 2010, 22:25 »
0
Hola bienvenido, te manda algún error?, cual es el problema exactamente?
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

thecarfal

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: problema al cargar datos decimales con jsp
« Respuesta #2 en: Miércoles 27 de Enero de 2010, 18:53 »
0
Cita de: "juez"
Hola bienvenido, te manda algún error?, cual es el problema exactamente?

SI ESTE ES EL ERROR AL COLOCAR EN LOS CAMPOS VALORES DECIMALES..
java.lang.NumberFormatException: For input string: "3,4"  

3,4 FUE LO QUE COLOQUE EN EL CAMPO..

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: problema al cargar datos decimales con jsp
« Respuesta #3 en: Miércoles 27 de Enero de 2010, 21:10 »
0
Y es correcto que puedan escribir número decimales con coma para el programa que haces?
Si no lo es puedes restringuirlo con esta función pero sería a nivel del browser solamente

Código: Text
  1. //Esta función permite escribir números decimales y que el punto no se repita
  2.    function decimalDosPuntos(evento,campo){
  3.  
  4.         var tecla ;
  5.         if ( navigator.appName.toUpperCase() != "NETSCAPE"){
  6.                  tecla =  evento.keyCode;
  7.         }else{
  8.               tecla = evento.which;
  9.         }
  10.        
  11.         if (tecla <= 13 ){
  12.           return false;
  13.         }else if ( tecla >=48 && tecla <=57){
  14.             return true;
  15.         }else if ( tecla == 46){
  16.             var cadena = document.getElementById(campo).value;
  17.             if ( cadena.indexOf(".") != -1 ){
  18.                 return false;
  19.             }else{
  20.                 return true;
  21.             }
  22.         }else{
  23.             return false;
  24.         }
  25.     }
  26.  

y por si acaso debieras validar también del lado del servidor(esto es una buena práctica), utilizando la clase numberFormat y Locale
ya que el error es de asignar un valor String que contiene coma a un double
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

thecarfal

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: problema al cargar datos decimales con jsp
« Respuesta #4 en: Lunes 1 de Febrero de 2010, 21:02 »
0
si mi pana debo cargar decimales ya que el campo va a contener valor moneda y debo guardarlo en la bd tal cual ejemplo 5.300,53
Ya no encuentro que hacer muy agradecido..

thecarfal

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: problema al cargar datos decimales con jsp
« Respuesta #5 en: Lunes 1 de Febrero de 2010, 21:03 »
0
si mi pana debo cargar decimales ya que el campo va a contener valor moneda y debo guardarlo en la bd tal cual ejemplo 5.300,53
Ya no encuentro que hacer muy agradecido..